2012-04-23 75 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