2016-10-30 4 views
5

У меня есть фрагмент предпочтения с иерархией экрана предпочтений. Я хотел бы добавить настраиваемый макет, чтобы определить раздел «об авторе», добавив изображение в элемент и ссылку (намерение браузера). Я искал, но я не нашел никаких ресурсов по этой теме.Добавление пользовательского макета в PreferenceFragment

+0

«RelativeLayout» должен выполнить эту работу. –

+0

Хорошо, но где мне нужно связать макет с фрагментом? В классе фрагмента предпочтений или в xml? –

ответ

10

В файле предпочтение XML (res/xml/prefs.xml), добавьте Preference с пользовательским макетом:

<Preference 
    android:layout="@layout/custom_preference"/> 

Пример layout/custom_preference.xml с ImageView и TextView со ссылкой, которая будет открыта в браузере:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_book" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="http://www.mylink.com" 
     android:autoLink="all"/> 
</LinearLayout> 

Это последнее преимущество в скриншоте: preference screen with custom preference

+7

Я успешно добавляю пользовательский макет к моему предпочтению, но как ссылаться на представление в классе фрагментов предпочтений? Мне нужно взаимодействовать с этим представлением, чтобы прикрепить к кликеру кнопку, которую я добавляю в пользовательский макет. – 2MuchSmoke

+1

Можно ли проверить текст макета в режиме исполнения? –

+0

Как динамически манипулировать настраиваемым контентом? –

Смежные вопросы