1、給textview設定 drawableleft / drawabletop / drawableright / drawablebottom:
方式一:
drawable drawable= getresources().getdrawable(r.drawable.add);
// 這一步必須要做,否則不會顯示.
drawable.setbounds(0, 0, drawable.getminimumwidth(), drawable.getminimumheight());
textview.setcompounddrawables(drawable,null,null,null);
方式二:
// 設定textview左上右下
mtextview.setcompounddrawableswithintrinsicbounds(drawableleft, drawabletop, drawableright, drawablebottom);
mtextview.setcompounddrawablepadding(drawablepadding);
兩者關聯,見原始碼如下:
@android.view.remotableviewmethod
public void setcompounddrawableswithintrinsicbounds(@nullable drawable left,
@nullable drawable top, @nullable drawable right, @nullable drawable bottom)
if (right != null)
if (top != null)
if (bottom != null)
setcompounddrawables(left, top, right, bottom);
}
2、給view動態設定margin,獲取的layoutparams是view的父控制項型別的layoutparams:
linearlayout.layoutparams lp = new linearlayout.layoutparams(viewgroup.layoutparams.match_parent, windowmanager.layoutparams.wrap_content);
lp.setmargins(0, 0, labelmarginright, 0);
mtextview.setlayoutparams(lp);
未完待續。
Flutter和Android中的View區別
在android中,view是螢幕上顯示的所有內容的基礎,按鈕 工具欄 輸入框等一切都是view。在flutter中,view相當於是widget。與view相比,widget有一些不同之處。首先,widget僅支援一幀,並且在每一幀上,flutter的框架都會建立乙個widget例項樹 譯者語 相...
android自己定義控制項 自己定義View屬性
1 自己定義view的屬性 2 在view的構造方法中獲得我們自己定義的屬性 3 重寫onmesure 4 重寫ondraw 3這個步驟不是必須,當然了大部分情況下還是須要重寫的。1 自己定義view的屬性,首先在res values 下建立乙個attrs.xml 在裡面定義我們的屬性和宣告我們的整...
android自定義view之 組合view
最近工作比較輕鬆,沒有什麼事情幹,於是進入高產模式 呃。高產似xx 應該很多童鞋對自定義view這個東西比較牴觸,可能是聽網上說view比較難吧,其實自定義view並沒有很難 自定義view分為三種 1.自繪view 2.組合控制項view 3.重寫系統view 今天我們就來以乙個小例子講一下自定義...