2017-02-22 5 views
-2

enter image description hereфрагмент Android предпочтение занимая место для значка в списке предпочтений фрагмента

Как вы можете видеть на картинке, это занимает некоторое дополнительное пространство в левой. Позже я обнаружил, что это пространство назначено для значка. Как я могу удалить это пространство?

Я попытался preference.setIcon(null);

Также я попробовал решение при here. Но не повезло.

Я использую compile 'com.android.support:preference-v7:25.1.1'

Редактировать

Вот мой style.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="preferenceTheme">@style/PreferenceThemeOverlayCustom</item> 
</style> 

<style name="PreferenceThemeOverlayCustom" parent="PreferenceThemeOverlay"> 
    <item name="preferenceFragmentListStyle">@style/PreferenceFragmentListCustom</item> 
</style> 

<style name="PreferenceFragmentListCustom" parent="PreferenceFragmentList"> 

    <item name="android:paddingEnd">0dp</item> 
    <item name="android:paddingLeft">0dp</item> 
    <item name="android:paddingRight">0dp</item> 
    <item name="paddingStart">0dp</item> 
</style> 
+0

Почему голос? В чем причина? – mSapps

+0

попробуйте новый образец проекта в студии Android с шаблоном «Активность настроек» и посмотрите, работает ли он там первым, чего вы хотите достичь. –

ответ

0

Я думаю, что его из-за PreferenceThemeOverlay, который вы используете для этой деятельности. Ваш выбранный стиль принимает заполнение по умолчанию слева или справа.

использовать этот код

<style name="" parent="PreferenceThemeOverlay"> 
    <item name="android:paddingLeft">0dp</item> 
    <item name="android:paddingRight">0dp</item> 
</style> 
+0

попробовал это, но не повезло – mSapps

+0

Можете ли вы поделиться своим стилем и макетом xml, поэтому я объясню –

+0

I добавили, пожалуйста, проверьте мое редактирование – mSapps

-2

Построив новое предпочтение так:

new Preference(getPreferenceScreen().getContext());

решает эту проблему для меня.