在button中新增兩行文字

2021-06-22 17:01:31 字數 1142 閱讀 9809

最近在做專案,碰到要在乙個按鈕上面新增文字,但是文字數量偏多,單行顯示無法顯示完整,就想要顯示為雙行。

在網上找到兩種解決辦法:

第一種是自定義布局,在布局中新增兩個textview,將布局背景設定為系統預設按鈕樣式。但這樣就失去了新增自定義背景的方式(或許是我沒有想到另外的解決辦法,未深入**)。

第二種方法則是對字串進行處理,新增'\n'。以下主要說明這種方法。

對於獲取的字串資料,在獲取的時候是不會自動給你在需要新增"\n"的位置新增上"\n"的,因此,要先行新增"\n"。我是在字串中間位置進行新增:

stringbuffer sbuffer = new stringbuffer(」要進行處理的字串");

if (sbuffer.length() > 3){

sbuffer.insert(sbuffer.length() / 2, "\n");

這裡是對stringbuffer判斷其物件長度,大於3(可根據實際情況調整),則新增"\n",我是在中間位置新增。

spannablestring t = new spannablestring(sbuffer.tostring());

建立spannablestring物件。對於spannablestring具體是一種什麼樣的東西,我也不是很清楚,但是網上有其用法,可以搜尋檢視一下。

t.setspan(new absolutesizespan(15, true), 0, sbuffer.length() / 2 - 1, spannable.span_exclusive_exclusive);

t.setspan(new absolutesizespan(15, true), sbuffer.length() / 2, sbuffer.length() - 1,spannable.span_exclusive_exclusive);

在spannablestring的setspan方法中,第乙個引數是對字串進行設定那種效果的物件(15為文字大小,true表示按與裝置無關的尺寸),第二個,第三個引數分別為字串中有效的開始位置和結束位置。第四個引數spannable.span_exclusive_exclusive表示不包含第乙個值,也不包含最後乙個。

進行以上處理之後就可以通過(view).settext();方法,將spannablestring物件的字串新增到控制項當中了。

通過css和js設定內容不確定的兩行文字兩端對齊

效果如圖所示 思路 1.先通過css樣式設定兩行兩端對齊,但是會有乙個問題,隨著兩行的內容的不確定,沒辦法固定兩行的寬度,通過第二步解決 首先元素新增如下宣告達不到效果 text align justify 然後對元素的父元素新增宣告 注意 只給元素本身新增對齊的宣告 text align just...

文字約定RowStatus(在mib中新增刪除行)

rfc1212中建議 如果允許增加或刪除mib表結構的行,列物件中應該包含乙個名為 xtype 或 xstatus 物件,它的語法型別應該是列舉型的整數,這個列物件稱為狀態列物件。管理工作站可以通過設定狀態列物件的值來控制表中行的建立與刪除操作。狀態列列物件有6個定義值 active 1 表明狀態行...

怎樣在報表中新增文字水印

開源報表工具 比如 birt ireport 等 基本上都得通過背景圖變相實現水印,麻煩。而商業報表工具大都提供便捷的配置方式,並且針對全域性及單報表水印提供多方案,不過做法略有不同。在報表模板內配置水印屬性,各廠家大同小異。區別較大的是全域性水印,有的要借助平台功能,也就是脫離它的平台就沒法使用了...