Android中動態設定View屬性

2021-07-24 19:23:02 字數 1355 閱讀 1162

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 今天我們就來以乙個小例子講一下自定義...