tablayout下劃線長度

2021-09-23 23:56:14 字數 2611 閱讀 8673

安卓8.0以下的版本:

public class tabreflexutil 

//設定tab左右間距為10dp 注意這裡不能使用padding 因為原始碼中線的寬度是根據 tabview的寬度來設定的

linearlayout.layoutparams params = (linearlayout.layoutparams) tabview.getlayoutparams();

params.width = width ;

params.leftmargin = dp10;

params.rightmargin = dp10;

tabview.setlayoutparams(params);

tabview.invalidate();

}} catch (nosuchfieldexception e) catch (illegalacces***ception e)

}});

}public static void reflex(final tablayout tablayout)

//設定tab左右間距為10dp 注意這裡不能使用padding 因為原始碼中線的寬度是根據 tabview的寬度來設定的

linearlayout.layoutparams params = (linearlayout.layoutparams) tabview.getlayoutparams();

params.width = width ;

params.leftmargin = dp10;

params.rightmargin = dp10;

tabview.setlayoutparams(params);

tabview.invalidate();

}} catch (nosuchfieldexception e) catch (illegalacces***ception e)

}});

}public static int dip2px(context context, float dipvalue)

/*** 通過反射設定下劃線(indicator)寬度,字多寬線就多寬,參閱

*/public static void settablayoutindicator(final tablayout tablayout)

int tabwidth = 0;

tabwidth = tabview.getwidth();

if (tabwidth == 0)

linearlayout.layoutparams tabviewparams = (linearlayout.layoutparams) tabview.getlayoutparams();

int margin = (tabwidth - textwidth) / 2;

"textwidth=" + textwidth + ", tabwidth=" + tabwidth + ", margin=" + margin);

tabviewparams.leftmargin = margin;

tabviewparams.rightmargin = margin;

tabview.setlayoutparams(tabviewparams);

}} catch (nosuchfieldexception e) catch (illegalacces***ception e)

}});

}public static void settablayoutindicator(final smarttablayout tablayout)

int tabwidth = 0;

tabwidth = tabview.getwidth();

if (tabwidth == 0)

linearlayout.layoutparams tabviewparams = (linearlayout.layoutparams) tabview.getlayoutparams();

int margin = (tabwidth - textwidth) / 2;

"textwidth=" + textwidth + ", tabwidth=" + tabwidth + ", margin=" + margin);

tabviewparams.leftmargin = margin;

tabviewparams.rightmargin = margin;

tabview.setlayoutparams(tabviewparams);

}} catch (nosuchfieldexception e) catch (illegalacces***ception e)

}});

}/**

* 設定的每項之間的分隔線

*/public static void settablayoutdivider(tablayout tablayout)

/*** 設定的每項之間的分隔線

*/public static void settablayoutdivider(tablayout tablayout, int paddingdip)

}

tabreflexutil.reflex(tablayout);即可

反射修改TabLayout指示器下劃線的顏色

一 前言 專案需要根據不同的狀態修改tablayout的顏色,在網上找了下沒有發現怎麼修改下劃線的顏色,有看到反射修改下劃線的寬度的,我就自己動手反射修改了下劃線的顏色。選中和未選中的顏色有方法可以修改 settabtextcolors 二 關鍵 我引入的是 compile com.android....

Python單下劃線和雙下劃線

python 用下劃線作為變數字首和字尾指定特殊變數。不能用 from moduleimport 匯入 系統定義名字 類中的私有變數名 核心風格 避免用下劃線作為變數名的開始。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下 劃線作為變數名的開始。一般來講,...

美化下劃線

在css中,眾所周知使用text decoration underline 可以為任何文字新增下劃線的效果。不過我們一般都在初始化裡把a標籤的下劃線去掉 text decoration none 有沒有想過美化這些下滑下劃線呢 理想的場景中,強調使用下劃線,它應該做到以下幾點 這些要求並不為過,都是...