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

首頁(yè) > 系統(tǒng) > Android > 正文

Android中fragment+viewpager實(shí)現(xiàn)布局

2019-10-22 18:25:09
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內(nèi)容如下

1.先布局實(shí)現(xiàn)mian.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:app="http://schemas.android.com/apk/res-auto"   xmlns:tools="http://schemas.android.com/tools"   android:layout_width="match_parent"   android:layout_height="match_parent"   tools:context="com.bwei.fragment.MainActivity">    <android.support.v4.view.ViewPager     android:id="@+id/pager"     android:layout_width="wrap_content"     android:layout_height="wrap_content" />    <RadioGroup     android:id="@+id/radioGroup1"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:layout_alignBottom="@+id/pager"     android:layout_centerHorizontal="true"     android:orientation="horizontal"     android:background="#ccc"     >      <RadioButton       android:id="@+id/radio0"       android:layout_width="0dp"       android:layout_height="match_parent"       android:checked="true"       android:button="@null"       android:layout_weight="1"       android:text="微信"       android:drawableTop="@mipmap/ic_launcher_round"       android:gravity="center"       />      <RadioButton       android:id="@+id/radio1"       android:layout_width="0dp"       android:layout_height="match_parent"       android:button="@null"       android:layout_weight="1"       android:text="通訊錄"       android:drawableTop="@mipmap/ic_launcher_round"       android:gravity="center"       />      <RadioButton       android:id="@+id/radio2"       android:layout_width="0dp"       android:layout_height="match_parent"       android:button="@null"       android:layout_weight="1"       android:text="發(fā)現(xiàn)"       android:drawableTop="@mipmap/ic_launcher_round"       android:gravity="center" />     <RadioButton       android:id="@+id/radio3"       android:layout_width="0dp"       android:layout_height="wrap_content"       android:button="@null"       android:layout_weight="1"       android:text="我的"       android:drawableTop="@mipmap/ic_launcher_round"       android:gravity="center"/>   </RadioGroup> </RelativeLayout> 

2.創(chuàng)建3個(gè)fragment 要繼承Fragment類v4包下的

public class FragmentThree extends Fragment {   @Nullable   @Override   public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {      //引入布局文件     View view = inflater.inflate(R.layout.fragmentthree, null);     return view;   } } 

3.創(chuàng)建fragment 相對(duì)應(yīng)的布局文件

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="match_parent"   android:layout_height="match_parent">     <TextView     android:id="@+id/textView"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignParentTop="true"     android:layout_centerHorizontal="true"     android:layout_marginTop="230dp"     android:text="one" /> </RelativeLayout> 

4.創(chuàng)建適配器繼承FragmentPagerAdapter

package com.bwei.fragment;  import android.content.Context; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter;  import java.util.List;   public class MyAdapter extends FragmentPagerAdapter {   private List<Fragment> fragments;   private Context context;   //構(gòu)造方法   public MyAdapter(FragmentManager fm, List<Fragment> fragments, Context context) {     super(fm);     this.fragments = fragments;     this.context = context;   }   //得到item條目   @Override   public Fragment getItem(int position) {     return fragments.get(position);   }    //得到數(shù)量   @Override   public int getCount() {     return fragments.size();   } } 

5.在mainActivity實(shí)現(xiàn)效果

package com.bwei.fragment;  import android.graphics.Color; import android.os.Bundle; import android.support.annotation.IdRes; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast;  import java.util.ArrayList; import java.util.List;  public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener,ViewPager.OnPageChangeListener {    private ViewPager vPager;   private List<Fragment> fragments;   private FragmentManager fm;   private RadioGroup mRadioGroup;   @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     //初始化控件     initView();     initDate();   }    private void initView() {     vPager=(ViewPager) findViewById(R.id.pager);     vPager.setOnPageChangeListener(this);     mRadioGroup=(RadioGroup) findViewById(R.id.radioGroup1);     mRadioGroup.setOnCheckedChangeListener(this);   }    private void initDate() {     fragments=new ArrayList<Fragment>();     //實(shí)例化Fragment     FragmentOne fragmentOne = new FragmentOne();     FragmentTwo fragmentTwo = new FragmentTwo();     FragmentThree fragmentThree = new FragmentThree();      //添加到集合     fragments.add(fragmentOne);     fragments.add(fragmentTwo);     fragments.add(fragmentThree);      //得到getSupportFragmentManager()的管理器     fm = getSupportFragmentManager();     //得到適配器     MyAdapter myAdapter = new MyAdapter(fm, fragments, this);     //設(shè)置適配器     vPager.setAdapter(myAdapter);   }    //ViewPager.OnPageChangeListener監(jiān)聽事件   @Override   public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {    }    @Override   public void onPageSelected(int position) {      for (int i = 0; i <fragments.size() ; i++) {       RadioButton radiobutton = (RadioButton) mRadioGroup.getChildAt(i);       if (i==position) {         radiobutton.setChecked(true);         //設(shè)置選中的顏色         radiobutton.setBackgroundColor(Color.RED);       }else {         radiobutton.setChecked(false);         radiobutton.setBackgroundColor(Color.BLACK);         radiobutton.setBackgroundColor(Color.BLACK);       }     }   }    @Override   public void onPageScrollStateChanged(int state) {    }    //RadioGroup的監(jiān)聽事件    @Override   public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {      for (int j = 0; j <fragments.size() ; j++) {       //得到radiobutton       RadioButton radiobutton = (RadioButton) mRadioGroup.getChildAt(j);       int id = radiobutton.getId();       Toast.makeText(this,id+"", Toast.LENGTH_SHORT).show();       //判斷radiobutton的id是否等于選中的id       if (radiobutton.getId()==i) {         //設(shè)置當(dāng)前頁(yè)         vPager.setCurrentItem(j);       }     }   } } 

6.最后的效果圖

fragment,viewpager,布局

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 迁西县| 咸丰县| 刚察县| 姜堰市| 来凤县| 神池县| 泾川县| 汉沽区| 田林县| 巫溪县| 黎平县| 宜州市| 将乐县| 酉阳| 色达县| 大关县| 山东省| 深泽县| 堆龙德庆县| 石狮市| 金堂县| 三都| 灵石县| 通河县| 米泉市| 临沂市| 德昌县| 临沂市| 镇原县| 房产| 措勤县| 中卫市| 扎赉特旗| 太康县| 留坝县| 高密市| 南开区| 静乐县| 宜黄县| 四会市| 宁夏|