最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android TabLayout選項(xiàng)卡使用教程

 更新時間:2023年04月06日 09:49:34   作者:別偷我的豬_09  
這篇文章主要介紹了Android TabLayout選項(xiàng)卡使用,為什么會有這篇文章呢,是因?yàn)橹瓣P(guān)于TabLayout的使用陸陸續(xù)續(xù)也寫了好幾篇了,感覺比較分散,且不成體系,寫這篇文章的目的就是希望能把各種效果的實(shí)現(xiàn)一次性講齊

TabLayout

TabLayout 在開發(fā)中一般作為選項(xiàng)卡使用,常與 ViewPager2 和Fragment 結(jié)合起來使用。

常用屬性:

app:tabBackground 設(shè)置 TabLayout 的背景色,改變整個TabLayout 的顏色;

app:tabTextColor 設(shè)置未被選中時文字的顏色;

app:tabSelectorColor 設(shè)置選中時文字顏色;

app:tabTextAppearance="@android:style/TextAppearance.Large" 設(shè)置 TabLayout 的文本主題,無法通過 textSize 來設(shè)置文字大小,只能通過主題來設(shè)定;

app:tabMode="scrollable"設(shè)置 TabLayout 可滑動,當(dāng) tabItem 個數(shù)較多時,一個界面無法呈現(xiàn)所有的導(dǎo)航標(biāo)簽,此時就必須要用;

app:tabIndicator 設(shè)置指示器;

app:tabIndicatorColor 設(shè)置指示器顏色;

??????? app:tabIndecatorHeight 設(shè)置指示器高度,當(dāng)app:tabIndecatorHeight="0dp",隱藏 Indicator 效果;

app:tabTextAppearance="@android:style/TextAppearance.Holo.Large" 改變 TabLayout 里 TabItem 文字的大??;

app: tabPadding 設(shè)置 Tab 內(nèi)部 item 的 padding。也可以單獨(dú)設(shè)置某個方向的padding, 比如 app:tabPaddingStart 設(shè)置左邊距;

app:paddingEdng / app:paddingStart 設(shè)置整個 TabLayout 的 padding;

app:tabGravity="center" 居中,如果是 fill,則充滿;

app:tabMaxWidth / app:tabMinWidth 設(shè)置最大/最小的 tab 寬度,對 Tab 的寬度進(jìn)行限制。

TabItem

給TabLayout 添加 Item 有兩種方法,其中一種就是使用 TabItem 在 xml 里直接添加。

1. 使用TabItem 給 TabLayout 添加卡片。

<com.google.android.material.tabs.TabItem
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:icon="@android:drawable/ic_menu_add"
     android:text="添加"/>

android:icon 設(shè)置圖標(biāo);

Android:text 設(shè)置文本;

2. 通過代碼添加。使用 TabLayoutMediator()

        new TabLayoutMediator(binding.tab, binding.viewPager, new TabLayoutMediator.TabConfigurationStrategy() {
            @Override
            public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
                //TODO 設(shè)置卡片的文本/圖標(biāo)
                tab.setText(mTitles.get(position))
                   .setIcon(mIcons.get(position));
            }
        }).attach();

其中 mTitles 和 mIcons 是存放 text 和 Icon 的list。效果如下:

可以看到 text 在英文狀態(tài)下默認(rèn)都是大寫,這是因?yàn)樵?TabLayout 的源碼中默認(rèn)設(shè)置屬性 textAllCaps=true。所以可以在 TabLayout 中設(shè)置如下屬性來改成小寫。

app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"

演示效果的xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp">
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_add"
            android:text="添加"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_delete"
            android:text="刪除"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_camera"
            android:text="相機(jī)"/>
    </com.google.android.material.tabs.TabLayout>
    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tabs1"
        style="@style/Widget.MaterialComponents.TabLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabMode="scrollable"
        android:layout_margin="8dp">
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_add"
            android:text="添加"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_delete"
            android:text="刪除"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_camera"
            android:text="相機(jī)"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_add"
            android:text="添加"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_delete"
            android:text="刪除"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_camera"
            android:text="相機(jī)"/>
    </com.google.android.material.tabs.TabLayout>
    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tabs2"
        style="@style/Widget.MaterialComponents.TabLayout.Colored"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabIndicatorColor="@color/purple_700"
        android:layout_margin="8dp">
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_add"
            android:text="添加"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_delete"
            android:text="刪除"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_camera"
            android:text="相機(jī)"/>
    </com.google.android.material.tabs.TabLayout>
    <com.google.android.material.tabs.TabLayout
        android:layout_margin="8dp"
        android:id="@+id/tabs3"
        style="@style/Widget.Design.TabLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_add"
            android:text="添加" />
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_call"
            android:text="刪除" />
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_camera"
            android:text="菜單" />
    </com.google.android.material.tabs.TabLayout>
    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tabs4"
        app:tabTextAppearance="@android:style/TextAppearance.Holo.Large"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabIndicatorHeight="0dp"
        android:layout_margin="8dp">
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_add"
            android:text="add"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_delete"
            android:text="刪除"/>
        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:icon="@android:drawable/ic_menu_camera"
            android:text="相機(jī)"/>
    </com.google.android.material.tabs.TabLayout>
</LinearLayout>

到此這篇關(guān)于Android TabLayout選項(xiàng)卡使用教程的文章就介紹到這了,更多相關(guān)Android TabLayout內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android仿微信聊天圖片的放大縮小功能

    Android仿微信聊天圖片的放大縮小功能

    本文介紹了如何實(shí)現(xiàn)Android仿微信聊天圖片的放大縮小效果,通過修改Android官方代碼,實(shí)現(xiàn)點(diǎn)擊圖片放大,再次點(diǎn)擊縮小回原位的功能,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • Android ListView列表實(shí)現(xiàn)倒計(jì)時

    Android ListView列表實(shí)現(xiàn)倒計(jì)時

    這篇文章主要為大家詳細(xì)介紹了Android ListView列表實(shí)現(xiàn)倒計(jì)時,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • android?studio實(shí)驗(yàn):?UI設(shè)計(jì)?ListView及事件響應(yīng)

    android?studio實(shí)驗(yàn):?UI設(shè)計(jì)?ListView及事件響應(yīng)

    這篇文章主要介紹了android?studio實(shí)驗(yàn):?UI設(shè)計(jì)?ListView及事件響應(yīng),主要是ListView及其事件響應(yīng)方法?彈出菜單PopupMenu及其事件響應(yīng)方法,下面來看看具文章體的介紹吧
    2021-12-12
  • 微信多圖上傳解決android多圖上傳失敗問題

    微信多圖上傳解決android多圖上傳失敗問題

    這篇文章主要介紹了微信多圖上傳解決android多圖上傳失敗問題,需要的朋友可以參考下
    2017-04-04
  • Android沉浸式狀態(tài)欄實(shí)現(xiàn)

    Android沉浸式狀態(tài)欄實(shí)現(xiàn)

    這篇文章主要介紹了Android沉浸式狀態(tài)欄實(shí)現(xiàn),即一體化狀態(tài)欄實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android使用Retrofit仿微信多張圖片拍照上傳

    Android使用Retrofit仿微信多張圖片拍照上傳

    這篇文章主要介紹了Android使用Retrofit仿微信多張圖片拍照上傳的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android 后臺發(fā)送郵件示例 (收集應(yīng)用異常信息+Demo代碼)

    Android 后臺發(fā)送郵件示例 (收集應(yīng)用異常信息+Demo代碼)

    今天介紹個更簡單的方法,我們把異常信息收集后,通過后臺發(fā)送郵件方法,把相關(guān)異常信息發(fā)送到我們指定的郵箱里面
    2013-07-07
  • Flutter布局模型之層疊定位

    Flutter布局模型之層疊定位

    這篇文章主要為大家詳細(xì)介紹了Flutter布局模型之層疊定位,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Android 滑動小圓點(diǎn)ViewPager的兩種設(shè)置方法詳解流程

    Android 滑動小圓點(diǎn)ViewPager的兩種設(shè)置方法詳解流程

    Viewpager,視圖翻頁工具,提供了多頁面切換的效果。Android 3.0后引入的一個UI控件,位于v4包中。低版本使用需要導(dǎo)入v4包,現(xiàn)在我們一般不再兼容3.0及以下版本,另外使用Android studio開發(fā),默認(rèn)導(dǎo)入v7包,v7包含了v4,所以不用導(dǎo)包,越來越方便了
    2021-11-11
  • Handler與Android多線程詳解

    Handler與Android多線程詳解

    一開始,相信很多人都以為myThread中的run()方法會在一個新的線程中運(yùn)行,但事實(shí)并非如此。以下代碼中的handler并沒有調(diào)用線程myThread的start()方法,而是直接調(diào)用了run()方法,這也就意味著實(shí)際上并沒有創(chuàng)建一個新的線程,只是在當(dāng)前線程中調(diào)用run()方法而已
    2013-10-10

最新評論

新昌县| 肥西县| 广元市| 武清区| 青田县| 东至县| 蒙阴县| 枞阳县| 陵川县| 沈阳市| 故城县| 康马县| 屏南县| 太仆寺旗| 历史| 南郑县| 临沧市| 仙居县| 汉源县| 杭锦后旗| 工布江达县| 阿尔山市| 南阳市| 苏尼特右旗| 车险| 五常市| 邓州市| 扶绥县| 承德市| 开鲁县| 河池市| 仪陇县| 江达县| 申扎县| 长白| 崇文区| 佛教| 威宁| 东丽区| 金秀| 岐山县|