Android 动态创建View,是不是可以使用 style,如何使用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 动态创建View,是不是可以使用 style,如何使用?相关的知识,希望对你有一定的参考价值。

在代码中动态创建View的时候是否可以使用在 Style.xml 中声明的 style,
类似于在 xml 布局中使用的 style="@style/..." 这样!

如果可以,该怎么使用?

android 是可以使用 style的,具体方法为:
1、在Android中可以这样定义样式:
在res/values/styles.xml文件中添加以下内容
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name=“itcast”>
<item name="android:textSize">18px</item>
<item name="android:textColor">#0000CC</item>
</style>
</resources>
2、在layout文件中可以像下面这样使用上面的android样式:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ....>
<TextView style="@style/itcast"
..... />
3、可以使他继承父样式,当然,如果父样式的值不符合需求,你也可以对它进行修改,如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="itcast">
<item name="android:textSize">18px</item>
<item name="android:textColor">#0000CC</item>
</style>
<style name="subitcast" parent="@style/itcast">
<item name="android:textColor">#FF0000</item>
</style>
</resources>
参考技术A 你可以这样:
LayoutInflater i = getLayoutInflater();

View v = i.inflate(R.layout.xxx, null);
然后再xxx.xml文件中定义style类型
不知道你是不是这个需求追问

这种我知道,但是我连单个View的xml也不想写,想直接在代码中 new 出View后,直接设置 style,不知道这样可不可以! 还有, 你说的这种写法我用过, 样式是可以,不过 margin 这些在 style中设置是无效,需要在代码中重新设置!

追答

View v = new View(this);
v.setTextAppearance(this, R.style.xxx);
试试这个

追问

谢谢!
这个也不可以!
分给你了,感谢!

比如我现在想做一个类似选择题一样的东西,
选项不确定,所以想动态添加,
在代码中创建 RadioButton 和 CheckBox,
然后设置 style,再添加到父View中,
有时间可以研究一下!

本回答被提问者采纳

以上是关于Android 动态创建View,是不是可以使用 style,如何使用?的主要内容,如果未能解决你的问题,请参考以下文章

静态和动态组件的选择

android : 如何实现移动进入一个view的监听事件

怎样在android GridView实现动态加载图片啊?

android view动画实现从边缘滑出的效果怎么做

android怎么改变view的高度

android 动态切换view