您的位置:首页 > 移动开发 > Android开发

Android Design Support Library 中控件的使用简单介绍(二)

2016-12-07 20:59 686 查看
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:background="#1FBCD2"
android:layout_height="48dp" />```

再来看一下 onCreate(Bundle savedInstanceState) 中的方法吧


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab);
tabLayout= (TabLayout) findViewById(R.id.tablayout);
tabLayout.setTabTextColors(Color.WHITE, Color.GRAY);//设置文本在选中和为选中时候的颜色
tabLayout.addTab(tabLayout.newTab().setText("第一个"), true);//添加 Tab,默认选中
tabLayout.addTab(tabLayout.newTab().setText("第二个"),false);//添加 Tab,默认不选中
tabLayout.addTab(tabLayout.newTab().setText("第三个"),false);//添加 Tab,默认不选中
}```


现在 我们来把 TabLayout 和 ViewPager 连起来用先看布局文件 我们在上面的基础上加了个ViewPager

<android.support.design.widget.TabLayout

android:id="@+id/tablayout"

android:layout_width="match_parent"

android:background="#1FBCD2"

android:layout_height="48dp" />

<android.support.v4.view.ViewPager

android:id="@+id/vp"

android:layout_width="match_parent"

android:layout_height="match_parent" />


再来看一下 onCreate(Bundle savedInstanceState) 中的方法吧

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_tab);

tvs = new ArrayList<TextView>();

for (int i = 0; i < items.length; i++) {

TextView tv = new TextView(this);

tv.setText(items[i]);

LinearLayout.LayoutParams lp =

new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

tv.setTextColor(Color.BLACK);

tv.setBackgroundColor(Color.WHITE);

tv.setGravity(Gravity.CENTER);

tv.setLayoutParams(lp);

tv.setTextSize(22);

tvs.add(tv);

}

tabLayout = (TabLayout) findViewById(R.id.tablayout);

tabLayout.setTabTextColors(Color.WHITE, Color.GRAY);//设置文本在选中和为选中时候的颜色

vp = (ViewPager) findViewById(R.id.vp);

adapter = new Adapter();

vp.setAdapter(adapter);

//用来设置tab的,同时也要覆写  PagerAdapter 的 CharSequence getPageTitle(int position) 方法,要不然 Tab 没有 title

tabLayout.setupWithViewPager(vp);

//关联 TabLayout viewpager

tabLayout.setTabsFromPagerAdapter(adapter);

}


Navigation View

大家都记得 DrawerLayout 这个控件吧!它是 android 用来体态 SlideMenu 的一个组件!在这个控件中我们通常需要一个 menu(也是个布局文件)和一个主体布局文件。现在这个 Navigation View 就是用来写 menu的!这个控件我就不一一写函数了!我们还是直接使用吧!直接看布局文件

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:id="@+id/drawer_layout"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true">

<FrameLayout

android:layout_width="match_parent"

android:layout_height="match_parent">

<TextView

android:layout_width="match_parent"

android:layout_height="match_parent"

android:text="哈哈"

android:gravity="center"

android:textSize="30sp"

android:textColor="@android:color/background_dark"/>

</FrameLayout>

<android.support.design.widget.NavigationView

android:id="@+id/navigation"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_gravity="start"

app:headerLayout="@layout/header"

app:menu="@menu/my_navigation_items" />

</android.support.v4.widget.DrawerLayout>


我们直接看 NavigationView ,会发现我使用了两个新的属性 app:headerLayout 和 app:menu 这是因为这个组件把menu分为两部分,一个是头部还有一个是 menu。现在我们只需要写个新的头部和一个 menu就行啦!!这个组件我就不上图了!主要是我认为没啥意思这个组件!

剩下的组件

现在还剩下 CoordinatorLayout , CollapsingToolbarLayout 和 AppBarLayout 这三个组件!由于我对这个三个组件还没有仔细研究,在这篇博文中就不说了!下篇博文再讲!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: