我正在尝试在应用到我的整个应用程序的自定义主题中覆盖TextAppearance.Medium ,并在我的应用程序清单中使用适当的条目。出于某种原因,我指定的样式不适用于嵌套在我使用自定义布局和 SimpleAdapter 填充的 ListView 中的视图。该样式应用于 TextView 视图,这些视图不是绑定到 ListView 的项目。
主题定义和自定义布局的示例如下。
需要说明的是,我在使用自定义布局填充列表时没有问题,我的主题肯定会在我的整个应用程序中应用,而且我也知道我的列表项布局可以通过使用 RelativeLayout 进行优化。我只是在寻找为什么我的列表项样式不正确的答案。
我是否误解了主题继承的功能,还是需要继承/覆盖其他特定于列表的样式?
API 级别 7 (Android 2.1)
使用 HTC Evo 4G 和通用 AVD 设备进行测试
主题定义
<style name="Theme" parent="android:Theme.Light.NoTitleBar">
<item name="android:textAppearanceMedium">@style/TextAppearance.Medium</item>
</style>
<style name="TextAppearance.Medium" parent="android:style/TextAppearance.Medium">
<item name="android:textColor">@android:color/black</item>
</style>
列表项布局定义
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="horizontal" android:padding="10dp">
<TextView android:layout_width="wrap_content" android:text="TextView" android:id="@+id/jobItemDateDueTextView" android:layout_height="fill_parent" android:gravity="center" android:textStyle="bold" android:layout_marginRight="15dp"></TextView>
<LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent" android:orientation="vertical">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" android:id="@+id/jobItemHeaderTextView" android:maxLines="1" android:textAppearance="?android:attr/textAppearanceMedium"></TextView>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" android:id="@+id/jobItemContentTextView"></TextView>
</LinearLayout>
</LinearLayout>