как я могу изменить цвет и размер текста ListView без использования специального адаптера
Если вы используете некоторые из встроенных макетов (например, simple_list_item_1
)для элементов списка вы можете определить собственную тему, которая переопределяет интересующие вас атрибуты.
Например, simple_list_item_1
определяется как TextView, свойства которого задаются из различных атрибутов темы:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:minHeight="?android:attr/listPreferredItemHeightSmall" />
Таким образом, вы можете определить собственный стиль для вашего текстового представления:
<style name="MyTextAppearance" parent="TextAppearance.AppCompat.Medium">
<item name="android:textColor">@color/red</item>
<item name="android:textSize">12sp</item>
<!-- Other Attributes -->
</style>
Затем используйте этот стиль для переопределения атрибутов, из которых извлекается макет:
<style name="MyTheme" parent="Theme.AppCompat">
<item name="android:textAppearanceListItemSmall">@style/MyTextAppearance</item>
<item name="android:listPreferredItemHeightSmall">32dp</item>
<!-- Other Attributes -->
</style>
В общемЕсли вы используете встроенный макет, используйте исходный код, чтобы увидеть, как он определен.Как правило, свойства макета задаются с помощью атрибутов темы, которые можно переопределить в собственной теме.
См. документацию по стилям и темам для получения дополнительной информации.
Надеюсь, это поможет!