gpt4 book ai didi

java - 在 java 中创建样式 xml 以供查看(按钮)

转载 作者:行者123 更新时间:2023-11-30 02:44:37 26 4
gpt4 key购买 nike

这是我的 View (按钮)的 xml 样式

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#e92727" />
<stroke
android:width="1dp"
android:color="#d30a0a" />
<corners
android:radius="10dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#e92727"
android:endColor="#d30a0a"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#d30a0a" />
<corners
android:radius="10dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>

我想在 java 中创建此样式而不使用可绘制对象中的 xml 文件。试图从 createFromXML 实现这一目标但不会成功。

代码:

String xml_code = initalized with above xml code;
Drawable d = null;
XmlPullParserFactory pullParserFactory;
try {
pullParserFactory = XmlPullParserFactory.newInstance();
XmlPullParser parser = pullParserFactory.newPullParser();
InputStream in_s = new ByteArrayInputStream(xml_code.getBytes("UTF-8"));
parser.setInput(in_s, null);
d = Drawable.createFromXml(getResources(), parser);
} catch (Exception e) {
e.printStackTrace();
}
btn.setBackgroundDrawable(d);

请建议我如何实现这一点,我不可能将此 xml 保存在可绘制对象中并进一步使用它,如 btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.xml_style));

最佳答案

我不明白。为什么要使用 Java 而不是 xml?XML 更容易 x)

而且我认为你混淆了事情。

你可以这样做:

Drawable d = getResources().getDrawable(R.layout.your_xml_file);

这将从您的 xml 文件中返回一个可绘制对象。

希望对您有所帮助。

关于java - 在 java 中创建样式 xml 以供查看(按钮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25283715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com