Android中TabLayout添加小紅點的示例代碼
本文介紹了Android中TabLayout添加小紅點的示例代碼,分享給大家,具體如下
安卓原生的android.support.design.widget.TabLayout,配合ViewPager已經(jīng)很好用了,但是有時我們會在內(nèi)容更新時,在tab標(biāo)題右上方加上一個紅點等標(biāo)記此tab內(nèi)容有更新時,就需要給原生的TabLayout設(shè)置你定義的布局,用法和原生的一樣,只是在代碼中設(shè)置一下TabLayout的布局。
1.主布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.bxkj.dylan.tablayoutreddot.MainActivity">
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
app:tabBackground="@android:color/white"
app:tabTextColor="@color/colorBlack"
app:tabSelectedTextColor="@color/colorAccent"
app:tabMode="scrollable"
android:layout_width="match_parent"
android:layout_height="40dp" />
</LinearLayout>
2.要顯示小紅點的自定義布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_tab_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="@color/colorBlack"
android:textSize="15sp" />
<TextView
android:id="@+id/iv_tab_red"
android:layout_gravity="right"
android:layout_width="18dp"
android:text="5"
android:gravity="center"
android:textColor="@android:color/white"
android:layout_height="18dp"
android:background="@drawable/red_dot" />
</LinearLayout>
3.設(shè)置TabLayout加載的各個Tab
import android.content.res.Resources;
import android.support.design.widget.TabLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
/**
* @author dylan
*/
public class MainActivity extends AppCompatActivity {
private TabLayout tabLayout;
private TextView tv_tab_title;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabLayout = findViewById(R.id.tabLayout);
initData();
}
private void initData() {
TabLayout.Tab tab = tabLayout.newTab().setText("全部");
tabLayout.addTab(tab);
//待付款欄目-加載自定義顯示小紅點的布局
tab = tabLayout.newTab();
tab.setCustomView(R.layout.tab_wait_for_pay);
tv_tab_title = tab.getCustomView().findViewById(R.id.tv_tab_title);
tv_tab_title.setText("待付款");
tabLayout.addTab(tab);
tab = tabLayout.newTab().setText("待發(fā)貨");
tabLayout.addTab(tab);
tab = tabLayout.newTab().setText("待收貨");
tabLayout.addTab(tab);
tab = tabLayout.newTab().setText("已完成");
tabLayout.addTab(tab);
tab = tabLayout.newTab().setText("已取消");
tabLayout.addTab(tab);
//添加tabLayout選中監(jiān)聽
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
//設(shè)置選中時的文字顏色
if (tab.getCustomView() != null) {
tv_tab_title.setTextColor(getResources().getColor(R.color.colorAccent));
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
//設(shè)置未選中時的文字顏色
if (tab.getCustomView() != null) {
tv_tab_title.setTextColor(getResources().getColor(R.color.colorBlack));
}
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android實現(xiàn)消息提醒小紅點效果
- Android應(yīng)用圖標(biāo)上的小紅點Badge實踐代碼
- Android高仿QQ小紅點功能
- Android仿QQ未讀消息--紅點拖拽刪除【源代碼】
- Android 未讀消息的紅點顯示
- Android帶數(shù)字或紅點的底部導(dǎo)航攔和聯(lián)網(wǎng)等待加載動畫示例
- Android BadgeView紅點更新信息提示示例代碼
- Android開發(fā)中TextView 實現(xiàn)右上角跟隨文本動態(tài)追加圓形紅點
- Android自定義ActionProvider ToolBar實現(xiàn)Menu小紅點
- Android 基于MediatorLiveData實現(xiàn)紅點的統(tǒng)一管理
相關(guān)文章
基于fluttertoast實現(xiàn)封裝彈框提示工具類
這篇文章主要為大家介紹了基于fluttertoast實現(xiàn)封裝彈框提示工具類的實現(xiàn)代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
zxing二維碼位矩陣轉(zhuǎn)換成Bitmap位圖的實戰(zhàn)教程
二維碼的應(yīng)用已經(jīng)可以說是非常廣泛了,下面這篇文章主要給大家介紹了關(guān)于zxing二維碼位矩陣轉(zhuǎn)換成Bitmap位圖的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-09-09
Android實現(xiàn)圓角矩形和圓形ImageView的方式
這篇文章主要為大家詳細介紹了Android中實現(xiàn)圓角矩形和圓形的方式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09
一文帶你深入理解Android Window系統(tǒng)
Android中的窗口系統(tǒng)是應(yīng)用程序用戶界面的核心組件之一,它負責(zé)管理可視化區(qū)域、處理用戶輸入事件以及與系統(tǒng)UI交互,本文將深入介紹與Android窗口系統(tǒng)相關(guān)的重要概念,需要的朋友可以參考下2023-10-10

