2012-04-23 70 views
2
<TextView 
    android:id="@+id/online_message" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Onliners:" 
    /> 

我想創建一個TextView一樣的上述是:如何動態創建具有指定屬性的TextView?

android.widget.TextView.TextView(Context context, AttributeSet attrs) 

但是我怎麼指定attrs,它表示了相同的屬性上面?

This answer已關閉,但有沒有辦法僅讀取屬性(xml中沒有TextView標記)並解析爲AttributeSet

UPDATE

我正在尋找的方式來構建AttributeSet編程。

回答

0

我認爲屬性集最好在使用xml佈局時一起使用。否則,你可以創建上述TextView的要求如下:

TextView t = new TextView(context); 
t.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
t.setTextAppearance(context, android.R.attr.textAppearanceLarge); 
t.setText("Onliners:"); 

至於標識,你實際上並不需要設置它的代碼,因爲你必須參照整個對象。

+2

我正在尋找**通用**方法來動態設置**任意**有效屬性。 – 2012-04-23 13:23:26

+0

屬性通過構造函數提供一次,所以你不能擁有它任意...這就是爲什麼它只支持通過xml佈局。但是,您稍後可能會通過其setter更改TextView的屬性。 – waqaslam 2012-04-23 13:27:08