2015-10-28 1 views
0

Dans mon activité (Please see image), j'ai la barre de recherche et de voir pager (avoir 3 pages).modifier la taille du texte dans la vue fragment de pager selon la barre de recherche en activité

Je veux que, lorsque la barre de recherche change d'activité, le texte de la taille du fragment varie également.

Comment puis-je le faire?

Je l'essaie avec l'interface mais il ne fonctionne pas.

MainActivity

package com.creativei.viewpagerloop; 

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentStatePagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.support.v4.view.ViewPager.OnPageChangeListener; 
import android.support.v7.app.ActionBarActivity; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.SeekBar; 
import android.widget.SeekBar.OnSeekBarChangeListener; 
import android.widget.TextView; 

public class MainActivity extends ActionBarActivity { 
    private static final String LOG_TAG = "ViewPagerLoop"; 

    public static final String[] content = new String[] { 
      "Hello Welcome to ViewPager Loop Example. This is first view. Swipe right → for second view, swipe left � for last view.", 
      "Awesome, now you are on second view. Swipe right → again to go to last view.", 
      "Finally made it to last view, swipe right → again to go to first view." }; 
    Interface inter; 

    public MainActivity(Interface inter) { 
     this.inter = inter; 
    } 

    private SeekBar seekBar; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     seekBar = (SeekBar) findViewById(R.id.seekBar1); 
     ViewPager pager = (ViewPager) findViewById(R.id.pager); 
     TextView counter = (TextView) findViewById(R.id.counter); 
     seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 
      public void onProgressChanged(SeekBar seekBar, int progress, 
        boolean fromUser) { 
       inter.seekBarChange(progress); 
      } 

      public void onStartTrackingTouch(SeekBar seekBar) { 
      } 

      public void onStopTrackingTouch(SeekBar seekBar) { 

      } 
     }); 

     SimpleViewPagerAdapter adapter = new SimpleViewPagerAdapter(
       getSupportFragmentManager(), pager, content, counter); 
     pager.setAdapter(adapter); 
     pager.setOnPageChangeListener(adapter); 
     pager.setCurrentItem(1, false); 
    } 

    public static class SimpleFragment extends Fragment implements Interface { 
     private TextView textView; 

     public SimpleFragment() { 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_main, container, 
        false); 
      String content = getArguments().getString("content"); 
      textView = (TextView) rootView.findViewById(R.id.content); 
      textView.setText(content); 
      return rootView; 
     } 

     @Override 
     public void seekBarChange(int id) { 
      // TODO Auto-generated method stub 
      textView.setTextSize(id); 
     } 
    } 

    public static class SimpleViewPagerAdapter extends 
      FragmentStatePagerAdapter implements OnPageChangeListener { 

     private String[] content; 
     private ViewPager pager; 
     private TextView counter; 

     public SimpleViewPagerAdapter(FragmentManager fm, ViewPager pager, 
       String[] content, TextView counter) { 
      super(fm); 
      this.pager = pager; 
      this.content = content; 
      this.counter = counter; 
     } 

     @Override 
     public Fragment getItem(int position) { 
      SimpleFragment fragment = new SimpleFragment(); 
      Bundle bundle = new Bundle(); 
      int index = position; 

      bundle.putString("content", content[index]); 
      fragment.setArguments(bundle); 
      return fragment; 
     } 

     @Override 
     public int getCount() { 
      return content.length; 
     } 

     @Override 
     public void onPageSelected(int position) { 

     } 

     private String makeCounterText(int pageNo) { 
      return "Page " + pageNo + " of " + content.length; 
     } 

     @Override 
     public void onPageScrollStateChanged(int arg0) { 
     } 

     @Override 
     public void onPageScrolled(int arg0, float arg1, int arg2) { 
     } 

    } 
} 

Interface

package com.creativei.viewpagerloop; 

public interface Interface { 
    public void seekBarChange(int id); 
} 

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.creativei.viewpagerloop.MainActivity" 
    tools:ignore="MergeRootFrame" > 

    <SeekBar 
     android:id="@+id/seekBar1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/counter" 
     android:layout_below="@+id/seekBar1" /> 

    <TextView 
     android:id="@+id/counter" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:gravity="center_horizontal" /> 

</RelativeLayout> 

fragment_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.creativei.viewpagerloop.SimpleFragment" > 

    <TextView 
     android:id="@+id/content" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</RelativeLayout> 
+0

Pouvez-vous s'il vous plaît vous décrire plus en détail problème? Je vais supposer que vous avez de la difficulté à articuler correctement votre problème en anglais; et demande qu'il soit édité. – motoku

+0

dans mon activité ont une barre de recherche et un pager de vue J'ai personnalisé un fragment et l'utiliser pour afficher la page dans le pager de vue Dans le fragment j'ai un TextView Maintenant je veux augmenter ou diminuer la barre de recherche, la taille de la police de La vue du texte dans le fragment est augmentée ou diminuée. Tu peux m'aider? désolé de la possibilité de ma présentation, j'utilise google translate –

+0

S'il vous plaît ajouter cette information à votre question réelle. – motoku

Répondre

0

Vous pouvez obtenir la référence de cet exemple http://sampleprogramz.com/android/seekbar.php

+0

problème que j'ai rencontré ici était barre de progression dans l'activité et TextView dans le pager de vue de fragment, ils ne sont pas les mêmes fichier.xml que votre lien –