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

首頁 > 系統 > Android > 正文

Android中fragment+viewpager實現布局

2019-12-12 01:50:15
字體:
來源:轉載
供稿:網友

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

1.先布局實現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="發現"       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.創建3個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.創建fragment 相對應的布局文件

<?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.創建適配器繼承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;   //構造方法   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);   }    //得到數量   @Override   public int getCount() {     return fragments.size();   } } 

5.在mainActivity實現效果

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>();     //實例化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);     //設置適配器     vPager.setAdapter(myAdapter);   }    //ViewPager.OnPageChangeListener監聽事件   @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);         //設置選中的顏色         radiobutton.setBackgroundColor(Color.RED);       }else {         radiobutton.setChecked(false);         radiobutton.setBackgroundColor(Color.BLACK);         radiobutton.setBackgroundColor(Color.BLACK);       }     }   }    @Override   public void onPageScrollStateChanged(int state) {    }    //RadioGroup的監聽事件    @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) {         //設置當前頁         vPager.setCurrentItem(j);       }     }   } } 

6.最后的效果圖

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蓝田县| 夏河县| 若尔盖县| 上虞市| 二连浩特市| 沁源县| 尤溪县| 济阳县| 鄂托克旗| 遵义县| 扎鲁特旗| 金平| 保亭| 柘城县| 武陟县| 呼伦贝尔市| 长沙市| 盘山县| 镇安县| 饶河县| 岳池县| 舒兰市| 伊宁市| 哈尔滨市| 万全县| 弥勒县| 陕西省| 高密市| 安岳县| 资兴市| 墨脱县| 开原市| 左权县| 丹东市| 皮山县| 东莞市| 兴文县| 仙居县| 确山县| 额敏县| 通州区|