2016-12-27 199 views
0

enter image description here自定義樣式屬性

我想一些空間添加到我SwitchPreferenceCompat的頂部是一個PreferenceFragmentCompat內。基本上我只需要在它和頂部Toolbar之間留出一些空間,無論是通過擴展其高度還是填充間隙而不增加會干擾Toolbar的海拔陰影的空白空間。我相信我可以通過在SwitchPreferenceCompat中添加自定義樣式來實現此目的,但我無法正常工作。

這是我曾嘗試:

在我styles.xml -

<style name="SwitchPreferenceNew" parent="Preference.SwitchPreferenceCompat.Material"> 
    <item name="android:paddingTop">20dp</item> 
</style> 

在我app_preferences.xml -

<android.support.v7.preference.SwitchPreferenceCompat 
    style="@style/SwitchPreferenceNew" 
    android:defaultValue="false" 
    android:icon="@drawable/ic_power_settings_new_black_48dp" 
    android:key="prefsActivate" 
    android:summary="" 
    android:title="Activate reminders" /> 

我想我只是不正確地重寫的風格,但我我很難找到如何與SwitchPreferenceCompat做到這一點。先謝謝你!

回答

2

我知道這是遲,但我從下面的代碼得到的結果:

我的應用程序的主題:

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

我喜歡的主題:

<style name="my_preference_theme" parent="@style/PreferenceThemeOverlay"> 
    <item name="switchPreferenceCompatStyle">@style/preference_switch_compat</item> 
</style> 
我PreferenceSwitchCompat

我用佈局屬性你應該爲你的視圖創建新的佈局

<style name="preference_switch_compat"> 
    <item name="android:layout">@layout/switch_layout</item> 
</style> 

這是在這裏,你必須自定義視圖:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.SwitchCompat 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/switchWidget" 
    android:background="#f00" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 

,希望能幫助到別人。

+0

謝謝famalam我會嘗試一下 –