#android #textview #android-preferences
#Android #textview #android-настройки
Вопрос:
Я хочу иметь пользовательский макет для SwitchPreference для моих настроек. Я могу успешно изменить макет на то, что я хочу, но у меня следующее поведение. Текст этого элемента находится над эффектом пульсации, возникающим у Android при нажатии на что-либо.
Ниже мы можем увидеть простую версию предпочтения
<PreferenceCategory
android:layout="settings_style_title"
app:iconSpaceReserved="false">
<SwitchPreference
android:defaultValue="true"
android:key="a_key"
android:title="this text gets above the effect"
android:layout="my_custom_layout" />
</PreferenceCategory>
И my_custom_layout .
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center_vertical">
<TextView
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="15dp"
android:fontFamily="sans-serif"
android:minHeight="25dp"
android:scrollbars="none"
android:singleLine="true"
android:textColor="#000000"
android:textSize="18sp"/>
<Switch
android:id="@android:id/switch_widget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="15dp"/>
</RelativeLayout>
Я также пытался использовать android:widgetLayout
, но это управляет только пространством, в котором находится виджет, и я не могу присвоить атрибуты textview
.
Затем я попытался указать атрибуты непосредственно на SwitchPreference
и использовать только widgetLayout
, но также не сработал.
Я также попытался установить заголовок внутри my_custom_layout
.
Я также попытался удалить android:background
, но без эффекта.
Я думаю, что это как-то связано с макетом, потому что, когда я проверяю их, предпочтение без my_custom_layout
выглядит так:
в то время как тот, у которого он выглядит так:
Также что такое widget_frame? Кажется, я не могу найти где-нибудь, чтобы включить его, my_custom_layout
чтобы у меня была такая же структура. Есть мысли?
Комментарии:
1. Удалите фон
TextView
, если он есть.2. @sajjad хорошая мысль, я только что сделал, но без эффекта. Текст по-прежнему остается сверху и без
android:background
.3. Поделитесь своими атрибутами
TextView
вxml
макете.4. @Sajjad Я только что поделился
TextView
атрибутами и дополнительной информацией.