您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么在ViewPager中使用Fragment實(shí)現(xiàn)側(cè)滑導(dǎo)航欄,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Activity:
package com.example.administrator.android006; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import com.example.administrator.android006.Fragment.fragment1; import com.example.administrator.android006.Fragment.fragment2; import com.example.administrator.android006.Fragment.fragment3; import com.example.administrator.android006.Fragment.fragment4; import java.util.ArrayList; import java.util.List; public class MainActivity extends FragmentActivity implements View.OnClickListener { //頂部4個(gè)按鈕 private LinearLayout main_home_layout,main_msg_layout,main_pal_layout,main_me_layout; private ViewPager main_mViewPager; //ViewPager的適配器 private FragmentPagerAdapter mAdapter; //4個(gè)Fragment碎片的集合 private List<Fragment> mFragments = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化,加載碎片 initView(); initAdapter(); } public void initAdapter(){ mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { return mFragments.get(position); } @Override public int getCount() { return mFragments.size(); } }; main_mViewPager.setAdapter(mAdapter); main_mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { //重置ImageView的顏色 resetImg(); //設(shè)置選中時(shí)的圖片 switch (position) { case 0: ((ImageView) main_home_layout.findViewById(R.id.main_home_img)) .setImageResource(R.drawable.home_black); break; case 1: ((ImageView) main_msg_layout.findViewById(R.id.main_msg_img)) .setImageResource(R.drawable.msg_black); break; case 2: ((ImageView) main_pal_layout.findViewById(R.id.main_pal_img)) .setImageResource(R.drawable.pal_black); break; case 3: ((ImageView) main_me_layout.findViewById(R.id.main_me_img)) .setImageResource(R.drawable.me_black); break; } } @Override public void onPageScrollStateChanged(int state) { } }); } //重置ImageView的圖片 protected void resetImg(){ ((ImageView) main_home_layout.findViewById(R.id.main_home_img)) .setImageResource(R.drawable.home_gray); ((ImageView) main_msg_layout.findViewById(R.id.main_msg_img)) .setImageResource(R.drawable.msg_gray); ((ImageView) main_pal_layout.findViewById(R.id.main_pal_img)) .setImageResource(R.drawable.pal_gray); ((ImageView) main_me_layout.findViewById(R.id.main_me_img)) .setImageResource(R.drawable.me_gray); } public void initView(){ main_home_layout = findViewById(R.id.main_home_layout); main_msg_layout = findViewById(R.id.main_msg_layout); main_pal_layout = findViewById(R.id.main_pal_layout); main_me_layout = findViewById(R.id.main_me_layout); main_mViewPager = findViewById(R.id.main_mViewPager); fragment1 vp_fr1 = new fragment1(); fragment2 vp_fr2 = new fragment2(); fragment3 vp_fr3 = new fragment3(); fragment4 vp_fr4 = new fragment4(); mFragments.add(vp_fr1); mFragments.add(vp_fr2); mFragments.add(vp_fr3); mFragments.add(vp_fr4); main_home_layout.setOnClickListener(this); main_msg_layout.setOnClickListener(this); main_pal_layout.setOnClickListener(this); main_me_layout.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { //點(diǎn)擊首頁(yè)時(shí),設(shè)置ViewPager的下標(biāo)為0 case R.id.main_home_layout: main_mViewPager.setCurrentItem(0); break; //點(diǎn)擊消息時(shí),設(shè)置ViewPager的下標(biāo)為1 case R.id.main_msg_layout: main_mViewPager.setCurrentItem(1); break; //點(diǎn)擊好友時(shí),設(shè)置ViewPager的下標(biāo)為2 case R.id.main_pal_layout: main_mViewPager.setCurrentItem(2); break; //點(diǎn)擊我時(shí),設(shè)置ViewPager的下標(biāo)為3 case R.id.main_me_layout: main_mViewPager.setCurrentItem(3); break; } } }
.xml文件中:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal" > <LinearLayout android:id="@+id/main_home_layout" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:gravity="center" > <ImageView android:id="@+id/main_home_img" android:layout_width="30dp" android:layout_height="30dp" android:src="@drawable/home_black" android:scaleType="fitXY" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="首頁(yè)" /> </LinearLayout> <LinearLayout android:id="@+id/main_msg_layout" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:gravity="center" > <ImageView android:id="@+id/main_msg_img" android:layout_width="30dp" android:layout_height="30dp" android:src="@drawable/msg_gray" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="消息" /> </LinearLayout> <LinearLayout android:id="@+id/main_pal_layout" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:gravity="center" > <ImageView android:id="@+id/main_pal_img" android:layout_width="30dp" android:layout_height="30dp" android:src="@drawable/pal_gray" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="好友" /> </LinearLayout> <LinearLayout android:id="@+id/main_me_layout" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:gravity="center" > <ImageView android:id="@+id/main_me_img" android:layout_width="30dp" android:layout_height="30dp" android:src="@drawable/me_gray" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我" /> </LinearLayout> </LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/main_mViewPager" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager> </LinearLayout>
這個(gè)是ViewPager中的其中一個(gè)Fragment:
public class fragment1 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment1,container,false); } }
其Fragment布局:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="我是Fragment1" /> </android.support.constraint.ConstraintLayout>
上述就是小編為大家分享的怎么在ViewPager中使用Fragment實(shí)現(xiàn)側(cè)滑導(dǎo)航欄了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。