更改标准android.R.布局选项的样式?
是否可以覆盖Android提供的标准布局?例如,是否可以将android.R.layout.simple\u list\u item\u选中的文本变小?或者我只需要做我自己的布局就可以了?谢谢 你必须自己做布局。为了创建自定义布局并使用标准适配器(如ArrayAdapter),您必须在自定义布局中指定与标准布局中相同的id。例如,选中的简单列表项目中的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布局并更改您想要更改的内容是的,确实如此。下面是一个正在完成的类似任务(res/values/styles.xml):更改标准android.R.布局选项的样式?,android,android-layout,Android,Android Layout,是否可以覆盖Android提供的标准布局?例如,是否可以将android.R.layout.simple\u list\u item\u选中的文本变小?或者我只需要做我自己的布局就可以了?谢谢 你必须自己做布局。为了创建自定义布局并使用标准适配器(如ArrayAdapter),您必须在自定义布局中指定与标准布局中相同的id。例如,选中的简单列表项目中的TextView的id为“@android:id/text1”(http://www.devdaily.com/java/jwarehouse/a
包装内容
包装内容
正确的
14便士
@android:彩色/白色
5dp
5dp
5dp
包装内容
包装内容
5dp
5dp
@可绘制/文本视图\u边框
然后,当您希望将样式应用于已创建的布局文件(main.xml、res/layout/your_custom_layout.xml)中的元素时:
谢谢但是,如果您提供的id与标准布局中的id不同(或没有id),会出现什么问题?我复制了简单的\u列表\u项目\u检查布局并完全删除了id,当我这样加载它时,它似乎仍然可以正常工作:ArrayAdapter adapter=new ArrayAdapter(context,R.layout.custom\u checked\u list,arraylist);setListAdapter(适配器)代码>是,您是对的,因为“布局”==文本视图。但是对于其他标准布局,这应该不起作用。我的意思是布局管理器中包含多个视图的布局,例如线性布局,您可能会给出+1个好的观点。查看了适配器的实现。如果适配器不是用textViewResourceId启动的,ArrayAdapter不关心id。当没有提供资源id时,适配器假定整个ressource是一个TextView。否则,适配器将搜索给定的资源id(finViewById)(请参阅ArrayAdapter impl),谢谢,但我希望不必创建自己的布局文件,而是以某种方式继承android.R.layout.simple_list_item_checked,然后仅覆盖我要更改的特定值(在本例中为文本大小),但在本例中,您从头创建了自己的样式。到目前为止,您似乎无法直接更改android.R.layout中的标准布局,您需要按照207编写的版本进行修改。
<?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>
<?xml version="1.0" encoding="utf-8"?>
<TableRow
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/questionTableRow"
style="@style/questionTableRow"