Android Material Design:滑動指示選項卡android.support.design.widget.TabLayout的簡單使用

該TabLayout的功用,簡單的說,就是當用戶在該TabLayout的選項卡子item中選擇觸摸時候,文字和下方的指示器橫條滑動指示。這個功能就是之前APP開發經常使用的選項卡某一卡片被切換、選中時候的效果。只不過如今Android官方SDK使之標準化。
要使用android.support.design.widget.TabLayout ,須要在本身的工程項目中引入Android的兩個庫,過程比較複雜,也容易出現小錯誤,如今一步一步來。android.support.design.widget.TabLayout在Android擴展(extras)支持(support)包design中,可是design又依賴另一個support v7包中的appcompat庫,所以須要事先導入,在導入過程當中,若是某些res目錄下的value值太高好比value-23(Android SDK 23)但不巧發生錯誤如提示說找不到某某值,能夠整個刪除掉。
(1)導入support v7擴展包中的(\android-sdk-windows\extras\android\support\v7\appcompat),做爲design庫的Library:html

 

(2)導入Android擴展包中的design庫(\android-sdk-windows\extras\android\support\design),做爲項目的Library:java

 

(3)以上完成後,就能夠在本身的項目中引用Android擴展包support中的design庫作具體開發了。
如今給出一個例子,實現本文第一張圖所示效果:android

activity_main.xml:windows

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent" >
 6 
 7     <!-- app:tabIndicatorColor 指示器(字體下面的那一個橫)顯示顏色 -->
 8     <!-- app:tabSelectedTextColor 選中的字體顏色 -->
 9     <!-- app:tabTextColor 未選中的字體顏色 -->
10 
11     <android.support.design.widget.TabLayout
12         android:id="@+id/tabLayout"
13         android:layout_width="match_parent"
14         android:layout_height="wrap_content"
15         app:tabIndicatorColor="#26c6da"
16         app:tabSelectedTextColor="#f44336"
17         app:tabTextColor="#bdbdbd" />
18 
19 </RelativeLayout>

MainActivity.java:app

 1 package com.zzw.testtablayout;
 2 
 3 import java.util.ArrayList;
 4 
 5 import android.app.Activity;
 6 import android.os.Bundle;
 7 import android.support.design.widget.TabLayout;
 8 
 9 public class MainActivity extends Activity {
10 
11     @Override
12     protected void onCreate(Bundle savedInstanceState) {
13         super.onCreate(savedInstanceState);
14         setContentView(R.layout.activity_main);
15 
16         TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);
17         ArrayList<String> tabList = new ArrayList<String>();
18         for (int i = 0; i < 10; i++) {
19             tabList.add("選項" + i);
20         }
21 
22         for (int i = 0; i < tabList.size(); i++) {
23             tabLayout.addTab(tabLayout.newTab().setText(tabList.get(i)));
24         }
25         tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
26     }
27 }

有的使用android.support.design.widget.TabLayout出現java.lang.reflect.InvocationTargetExceptionide

解決方案:http://www.cnblogs.com/zzw1994/p/5012467.html字體

相關文章
相關標籤/搜索