国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 田阳县| 镇安县| 上林县| 九龙城区| 潍坊市| 碌曲县| 垣曲县| 宽城| 方山县| 玉林市| 万宁市| 梅州市| 苍梧县| 沙洋县| 柳州市| 泊头市| 巴青县| 平湖市| 两当县| 绥棱县| 綦江县| 永济市| 博爱县| 平罗县| 通辽市| 邛崃市| 读书| 吴川市| 威信县| 正镶白旗| 图片| 玉树县| 长宁县| 兴宁市| 弋阳县| 绥中县| 徐闻县| 神农架林区| 通山县| 安龙县| 石河子市|