Оформить его так, как описано в ответе Иназарука, достаточно просто, но он только меняет стиль текста в заголовке, он не предлагает способ указать совершенно новый макет (стиль не будет применять элемент layout
).Однако существует простое решение, если вы расширяете класс:
public class MyPreferenceCategory extends PreferenceCategory {
public MyPreferenceCategory(Context context) {
super(context);
setLayoutResource(R.layout.yourlayout);
}
public MyPreferenceCategory(Context context, AttributeSet attrs) {
super(context, attrs);
setLayoutResource(R.layout.yourlayout);
}
}
и просто используете его вместо исходного PreferenceCategory
при определении макета настроек.
Ваш макет может,конечно, есть все, что вам нравится, в том числе строки над или под текстом, различные фоны, отступы, что угодно.Например, будет показан цветной субтитр с дизайном материала с линией выше:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="6dp"
android:background="?attr/divider_color" />
<TextView
android:id="@+android:id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:padding="12dp"
android:textColor="?attr/colorAccent"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>