Android TableLayout下劃線寬度

用反射實現(xiàn)

  • 直接上代碼(可直接復(fù)制使用)
 /**
     * tabLayout下劃線寬度
     * @param padding 左右外邊距
     */
    public static void reflex(final TabLayout tabLayout, final @DimenRes int padding) {
        tabLayout.post(new Runnable() {
            @Override
            public void run() {
                try {
                    //拿到tabLayout的mTabStrip屬性
                    Field mTabStripField = tabLayout.getClass().getDeclaredField("mTabStrip");
                    mTabStripField.setAccessible(true);
                    LinearLayout mTabStrip = (LinearLayout) mTabStripField.get(tabLayout);
                    int dp10 = tabLayout.getContext().getResources().getDimensionPixelOffset(padding);
                    for (int i = 0; i < mTabStrip.getChildCount(); i++) {
                        View tabView = mTabStrip.getChildAt(i);
                        //拿到tabView的mTextView屬性
                        Field mTextViewField = tabView.getClass().getDeclaredField("mTextView");
                        mTextViewField.setAccessible(true);
                        TextView mTextView = (TextView) mTextViewField.get(tabView);
                        tabView.setPadding(0, 0, 0, 0);
                        //因為我想要的效果是   字多寬線就多寬,所以測量mTextView的寬度
                        int width = 0;
                        width = mTextView.getWidth();
                        if (width == 0) {
                            mTextView.measure(0, 0);
                            width = mTextView.getMeasuredWidth();
                        }
                        LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) tabView.getLayoutParams();
                        params.width = width;
                        params.leftMargin = dp10;
                        params.rightMargin = dp10;
                        tabView.setLayoutParams(params);
                        tabView.invalidate();
                    }
                } catch (NoSuchFieldException e) {
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
        });
    }

在debug包中可顯示效果,release包中無效
解決方法:
在混淆文檔proguard-rules.pro中去掉對widget包的混淆,即加上

-keep class android.support.design.widget.** { *; }**
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谨垃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌敢会,老刑警劉巖想括,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陷谱,死亡現(xiàn)場離奇詭異,居然都是意外死亡瑟蜈,警方通過查閱死者的電腦和手機烟逊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铺根,“玉大人宪躯,你說我怎么就攤上這事∥挥兀” “怎么了访雪?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長掂林。 經(jīng)常有香客問我臣缀,道長,這世上最難降的妖魔是什么泻帮? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任精置,我火速辦了婚禮,結(jié)果婚禮上刑顺,老公的妹妹穿的比我還像新娘氯窍。我一直安慰自己,他們只是感情好蹲堂,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布狼讨。 她就那樣靜靜地躺著,像睡著了一般柒竞。 火紅的嫁衣襯著肌膚如雪政供。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天朽基,我揣著相機與錄音布隔,去河邊找鬼。 笑死稼虎,一個胖子當著我的面吹牛衅檀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播霎俩,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼哀军,長吁一口氣:“原來是場噩夢啊……” “哼沉眶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起杉适,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤谎倔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后猿推,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體片习,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年蹬叭,在試婚紗的時候發(fā)現(xiàn)自己被綠了藕咏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡具垫,死狀恐怖侈离,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情筝蚕,我是刑警寧澤卦碾,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站起宽,受9級特大地震影響洲胖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜坯沪,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一绿映、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧腐晾,春花似錦叉弦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至巨柒,卻和暖如春樱拴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背洋满。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工晶乔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牺勾。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓正罢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親驻民。 傳聞我的和親對象是個殘疾皇子腺怯,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,790評論 25 707
  • 做一件事最難的是堅持袱饭!可是打破堅持的事情有很多!而我最近才發(fā)現(xiàn)自己的習(xí)慣就是被一本書給破壞了呛占!但并不是書本身有什么...
    書癡姑娘閱讀 386評論 1 2
  • 15,進化懦趋。這是一個更加接近終結(jié)的狀態(tài)晾虑,當然在它失控之前一切看起來都會是越來越美好…好吧,拋開這點仅叫,我們來看進化本...
    問基閱讀 291評論 0 0
  • 我手中這只新鮮的生雞蛋已經(jīng)跟隨了我24小時了帜篇,這是怎么一回事呢?原來是我要挑戰(zhàn)一個任務(wù)诫咱,保護一枚雞蛋笙隙。一開始我覺...
    晨子超愛喝奶茶閱讀 320評論 0 0
  • 行書第5天——《搞定.1,無壓工作的藝術(shù)》 記得剛開始參加工作那會坎缭,我喜歡用大腦記憶自己將要做的事情竟痰,不習(xí)慣把它們...
    嗨毒蠱閱讀 565評論 0 1