国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android使用fragment實現左側導航

2019-10-22 18:15:13
字體:
來源:轉載
供稿:網友

使用簡單的fragment實現左側導航,供大家參考,具體內容如下

先上效果圖:

Android,fragment,導航

MainActivity.java

 

public class MainActivity extends FragmentActivity {  // private Handler handler;  private ViewPager fragmentViewPager;  private ListView leftListView;  private List<Fragment> fragmentlist;  private Fragment1 fragment1;  private Fragment2 fragment2;  private ArrayList<String> leftlist = new ArrayList<String>();// left list      private ListAdapter listAdapter = null;  @Override  protected void onCreate(Bundle savedInstanceState) {   // TODO Auto-generated method stub   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   fragmentViewPager = (ViewPager) findViewById(R.id.fragmentViewPager);   leftListView = (ListView) findViewById(R.id.leftListView);    initDatas();// left初始化。   initDatasViewPager();   // aTextViewCallBack back = (aTextViewCallBack)   // findViewById(R.id.aTextViewCallBack);   // back.setCalBack(new calBack() {   // @Override   // public void onclick() {   // // TODO Auto-generated method stub   // Toast.makeText(MainActivity.this, "這是回調的點擊事件哦~",   // Toast.LENGTH_LONG).show();   // }   // });   //   // new Thread(new Runnable() {   //   // @Override   // public void run() {   // // TODO Auto-generated method stub   // String str = "http://www.easyicon.net/";   // String st = getHtmlByURL.getHtmlByURL(str);   // Message msg = handler.obtainMessage(0,st);   // handler.sendMessage(msg);   // }   // }).start();   // handler = new Handler() {   // public void handleMessage(Message msg) {   // super.handleMessage(msg);   // String x = msg.obj.toString();   // Log.i("GEtHtml", x);   // };   // };  }   public void initDatas() {   for (int i = 0; i < 5; i++) {    leftlist.add("第" + i + "個");    Log.i("65", leftlist.get(i).toString());   }    ArrayList<ButtonView> buttonListView = new ArrayList<ButtonView>();   ButtonView a = new ButtonView(R.string.pay_name_weixin);   buttonListView.add(a);   ButtonView b = new ButtonView(R.string.pay_name_alipay);   buttonListView.add(b);      listAdapter = new ListAdapter(buttonListView);   leftListView.setAdapter(listAdapter);   leftListView.setDividerHeight(0);   // listview點擊事件   leftListView.setOnItemClickListener(new OnItemClickListener() {    @Override    public void onItemClick(AdapterView<?> parent, View view,      int position, long id) {     Log.e("tag", Integer.toString(position));     // TODO Auto-generated method stub     listAdapter.setSelectedPosition(position);     listAdapter.notifyDataSetInvalidated();     if (position % 2 == 1) {      fragmentViewPager.setCurrentItem(1);     }else{      fragmentViewPager.setCurrentItem(0);     }    }   });  }   public void initDatasViewPager() {   fragmentlist = new ArrayList<Fragment>();   fragment1 = new Fragment1();//   fragment2 = new Fragment2();//   fragmentlist.add(fragment1);   fragmentlist.add(fragment2);   fragmentViewPager.setAdapter(new FragmentAdapter(     getSupportFragmentManager(), fragmentlist, this));   fragmentViewPager.setOnPageChangeListener(new MyOnPageChangeListener());  }   // set OnPageChangeListener in inner class  class MyOnPageChangeListener implements OnPageChangeListener {    @Override   public void onPageScrollStateChanged(int arg0) {    // TODO Auto-generated method stub    }    @Override   public void onPageScrolled(int arg0, float arg1, int arg2) {    // TODO Auto-generated method stub    }   /**    * 當點擊不同id的ViewPage的時候才觸發    * */   @Override   public void onPageSelected(int arg0) {    Log.e("tag1", Integer.toString(arg0));    switch (arg0) {    case 0:      break;    case 1:      break;    case 2:      break;    }   }   }   public class ListAdapter extends BaseAdapter {    ArrayList<ButtonView> arrayList = null;   LayoutInflater inflater;   View view;   ButtonLayoutHolder buttonLayoutHolder;   LinearLayout buttonLayout = null;   TextView buttonText = null;    private int selectedPosition = -1;// 選中的位置    public ListAdapter(ArrayList<ButtonView> buttonListView) {    // TODO Auto-generated constructor stub    arrayList = buttonListView;   }    @Override   public int getCount() {    // TODO Auto-generated method stub    return arrayList.size();   }    @Override   public Object getItem(int position) {    // TODO Auto-generated method stub    return arrayList.get(position);   }    @Override   public long getItemId(int position) {    // TODO Auto-generated method stub    return position;   }    public void setSelectedPosition(int position) {    selectedPosition = position;   }    @Override   public View getView(int position, View convertView, ViewGroup parent) {    // TODO Auto-generated method stub    inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);    view = inflater.inflate(R.layout.button_layout, null, false);    buttonLayoutHolder = (ButtonLayoutHolder) view.getTag();     if (buttonLayoutHolder == null) {     buttonLayoutHolder = new ButtonLayoutHolder();     buttonLayoutHolder.buttonLayout = (LinearLayout) view       .findViewById(R.id.LinearLayoutButton);     buttonLayoutHolder.textView = (TextView) view       .findViewById(R.id.TextViewButton);     view.setTag(buttonLayoutHolder);    }    buttonLayout = buttonLayoutHolder.buttonLayout;    buttonText = buttonLayoutHolder.textView;    if (selectedPosition == position) {     buttonText.setSelected(true);     buttonText.setPressed(true);     buttonLayout.setBackgroundColor(Color.parseColor("#e4e8e9"));     buttonText.setTextColor(Color.BLUE);         } else {     buttonText.setSelected(false);     buttonText.setPressed(false);     buttonLayout.setBackgroundColor(Color.parseColor("#2f4471"));     buttonText.setTextColor(Color.WHITE);     }    buttonText.setHeight(40);    buttonText.setText(arrayList.get(position).textViewId);    return view;    }   }; } class ButtonView {  int textViewId;   ButtonView(int tId) {   textViewId = tId;  } }  class ButtonLayoutHolder {  LinearLayout buttonLayout;  TextView textView; } FragmentAdapter.java[java] view plain copypublic class FragmentAdapter extends FragmentPagerAdapter{  private List<Fragment> listmVp;  private Context context;    public FragmentAdapter(FragmentManager fm, List<Fragment> listmVp,Context context) {   super(fm);   this.listmVp = listmVp;   this.context = context;  }  @Override  public int getCount() {   // TODO Auto-generated method stub   return listmVp.size();  }   @Override  public Fragment getItem(int arg0) {   // TODO Auto-generated method stub   return listmVp.get(arg0);  } } 

Fragment1.java

public class Fragment1 extends Fragment{  @Override  public View onCreateView(LayoutInflater inflater, ViewGroup container,    Bundle savedInstanceState) {   // TODO Auto-generated method stub   return inflater.inflate(R.layout.fragment1, container, false);  } } 

Fragment2.java

public class Fragment2 extends Fragment{  @Override  public View onCreateView(LayoutInflater inflater, ViewGroup container,    Bundle savedInstanceState) {   // TODO Auto-generated method stub   return inflater.inflate(R.layout.fragment2, container, false);  } } 

源碼地址:使用fragment實現左側導航

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖北省| 漯河市| 安丘市| 平果县| 西安市| 丰原市| 凤冈县| 青铜峡市| 郓城县| 平利县| 沧州市| 无为县| 巨鹿县| 九台市| 静海县| 司法| 和平区| 澳门| 兴宁市| 铜梁县| 广东省| 乾安县| 新乐市| 漠河县| 沽源县| 木兰县| 苍溪县| 巍山| 黄骅市| 太原市| 红安县| 治县。| 河南省| 琼中| 萨迦县| 湘潭县| 广昌县| 梧州市| 深泽县| 长汀县| 城市|