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

首頁 > 學院 > 開發設計 > 正文

TabLayout與ViewPager

2019-11-09 18:10:39
字體:
來源:轉載
供稿:網友

      啥也別說先看效果圖,因為我不會弄動態圖,其實這個界面是可以滑動的,也可以點下方的Tab進行切換

因為TabLayout和ViewPager分別屬于design包和support包,所以我們得在build.gradle里添加:
compile 'com.android.support:support-v4:24.1.1'compile 'com.android.support:design:24.1.1'
如果出現this support library should not use a different version than the compileSdkVersion的問題,
是因為添加的包的版本得和compileSdkVersion版本一致,手動改一下就好了
 

首先在activity_main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    這里必須設置為垂直,否則ViewPager不能滑動
    tools:context="com.example.administrator.tab_viewpager.MainActivity">    <android.support.v4.view.ViewPager        android:layout_width="match_parent"        android:layout_height="0dp"        android:layout_weight="1"        android:scrollbars="none"        android:id="@+id/viewPager">    </android.support.v4.view.ViewPager>    <android.support.design.widget.TabLayout        android:layout_width="match_parent"        android:layout_height="50dp"        app:tabGravity="fill"        android:id="@+id/tabLayout"
	app:tabIndicatorHeight="0dp"    是為了不顯示Tab底部的橫線
        app:tabMode="fixed"      是為了讓Tab底部不可滑動
        app:tabSelectedTextColor="#ff4081"     設置選中后的字體顏色
        app:tabTextColor="#000">      設置字體顏色
    </android.support.design.widget.TabLayout></LinearLayout>

 

接著創建3個fragment1.xml,fragment2.xml,fragment3.xml,除了字3個xml是一樣的,這里只展示其中一個

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:gravity="center"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#f0f0ff">    <ImageView        android:src="@mipmap/ic_launcher"        android:layout_width="wrap_content"        android:layout_height="wrap_content"/>    <TextView        android:text="這是話題"        android:layout_width="wrap_content"        android:layout_height="wrap_content"/></LinearLayout>
現在所有布局文件都準備好了
 
接著創建3個Fragment1,Fragment2,Fragment3 java文件,同樣這里只展示一個,名字上的差別自己改
import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class Fragment1 extends Fragment {    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,                             @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment1, null);        return view;
	//@Nullable表示用來標注給定的參數或返回值可以為null(其實我也不懂,就這樣用吧)
    }}
 
接著創建MyAdapter java文件
import android.support.v4.app.Fragment;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.app.FragmentManager;import java.util.List;
 
public class MyAdapter extends FragmentPagerAdapter {    PRivate List<String> title;    private List<Fragment> views;    public MyAdapter(FragmentManager fm, List<String> title, List<Fragment> views) {        super(fm);        this.title = title;        this.views = views;    }    @Override    public Fragment getItem(int position) {        return views.get(position);    }    @Override    public int getCount() {        return views.size();    }    //配置標題的方法    @Override    public CharSequence getPageTitle(int position) {        return title.get(position);    }}
最后MainActivity
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.view.ViewPager;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    private TabLayout tabLayout;    private ViewPager viewPager;    private List<String> mTitle = new ArrayList<String>();    private List<Fragment> mFragment = new ArrayList<Fragment>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);
 
        //初始化        initView();        MyAdapter adapter = new MyAdapter(getSupportFragmentManager(), mTitle, mFragment);        viewPager.setAdapter(adapter);        //為TabLayout設置ViewPager        tabLayout.setupWithViewPager(viewPager);    }    //初始化界面下面的3個Tab
    private void initView() {        tabLayout = (TabLayout) findViewById(R.id.tabLayout);        viewPager = (ViewPager) findViewById(R.id.viewPager);        mTitle.add("話題");        mTitle.add("主頁");        mTitle.add("個人");        mFragment.add(new Fragment1());        mFragment.add(new Fragment2());        mFragment.add(new Fragment3());    }}
全部完成啦!
 
PS:該文章只是本人自個寫寫供小白學習使用,源文章出處http://www.cnblogs.com/share2015/p/5271622.html
有任何關于本文章的疑問可以發QQ郵箱和我學習探討lijiahongssg@qq.com
 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴国县| 揭西县| 龙胜| 东源县| 呼玛县| 韩城市| 太康县| 镇康县| 图们市| 嘉荫县| 太仓市| 门源| 贺州市| 静乐县| 资兴市| 承德县| 泰安市| 潼关县| 马山县| 柘荣县| 九台市| 车致| 陆良县| 札达县| 平利县| 渭源县| 泾源县| 江门市| 黄骅市| 宝应县| 福鼎市| 原平市| 英吉沙县| 黔南| 濉溪县| 文安县| 高平市| 清原| 靖边县| 石城县| 南郑县|