我有自定义样式,我想应用于我的观点。 我无法以编程方式创建我的视图,而不是通过XML创建视图,因为它是一个动态内容量(相同的视图可以出现X次,但不超过10次,所以我不想要列表)。
如果我可以获得该样式的XmlPullParser,我可以轻松使用AttributeSet attrs = Xml.asAttributeSet(parser);
并将其传递给View的C'tor。问题是获取XmlPullParser。
getresources()。getX没有getStyle()方法。也许我只是采取了错误的方法。
有没有人知道如何将这种风格应用于程序化的观点?
10倍。
好的,我尝试了第三种C'tpr参数方法:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this, null, R.style.my_style_2);
tv.setText("this should be green!");
setContentView(tv);
}
和风格:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="my_style_2">
<item name="android:textColor">#FF00FF00</item>
<item name="android:textSize">20sp</item>
</style>
</resources>
我没有得到大的绿色文字。我得到默认大小灰色文本...
答案 0 :(得分:2)
确定。其他方法是以编程方式创建View并在构造函数中使用style参数:
例如:TextView myTextView = new TextView(context,null,R.style.myCustomStyle);
答案 1 :(得分:1)
我希望,这个答案可以提供帮助:我会在一个单独的布局文件中定义可以出现x次的视图,并使用布局inflater动态/编程地添加它们。
示例代码:
LayoutInflater l = getLayoutInflater(); // is a method from activity class
for (int i = 0; i < x; i++)
{
l.inflate(R.layout.custom_list_view_entry, parentView);
}
res / layout文件夹中的custom_list_view_entry.xml定义列表条目布局,并包含所有样式信息或更复杂的视图层次结构。 parentView是视图,它是列表条目的容器。