是否可以覆盖Android提供的标准布局?例如是否可以使android.R.layout.simple_list_item_checked的文本变小?或者我只需要制作自己的布局来做到这一点?谢谢。
答案 0 :(得分:1)
您必须制作自己的布局。为了制作自定义布局并使用标准适配器(如ArrayAdapter),您必须在自定义布局中指定与标准布局中相同的ID。例如,simple_list_item_checked中的TextView具有id“@android:id / text1”(http://www.devdaily.com/java/jwarehouse/android-examples/platforms/android-2/data/res/layout/simple_list_item_checked。 xml.shtml)。在自定义布局中,指定该ID。因此,您不必编写自定义适配器。所以最好的方法就是复制标准的xml布局并改变你想要改变的东西
答案 1 :(得分:0)
是的,确实如此。这是一个类似的事情(res / values / styles.xml):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ContactLabelTextView">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:gravity">right</item>
<item name="android:textSize">14sp</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:layout_marginLeft">5dp</item>
<item name="android:layout_marginRight">5dp</item>
<item name="android:layout_marginTop">5dp</item>
</style>
<style name="questionTableRow">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_margin">5dp</item>
<item name="android:layout_marginLeft">5dp</item>
<item name="android:background">@drawable/textview_border</item>
</style>
</resources>
然后,当您想要将样式应用于您创建的布局文件中的元素时(main.xml,res / layout / your_custom_layout.xml):
<?xml version="1.0" encoding="utf-8"?>
<TableRow
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/questionTableRow"
style="@style/questionTableRow"
显然,您希望使用textView完成此操作。我提供了一个我自己的代码示例,其中textView获取特定样式。我实际上甚至没有应用textView样式,但我粘贴在我将样式应用于tableRow的地方,只是让你看到如何将它应用于xml元素。
这可以满足您的需求吗?