如何在Lollipop设备上设计PreferenceActivity材料?

时间:2015-02-19 06:59:38

标签: java android android-theme material-design preferenceactivity

我有一些非常简单的PreferenceActivity我想要材料设计,但我不太确定如何。

我的活动不使用任何自定义样式或主题,所以我觉得它会自动采用材质设计的外观和感觉,但事实并非如此。

我怎样才能做到这一点?我是否需要添加自定义styles.xml

2 个答案:

答案 0 :(得分:1)

您应该创建一个Activity,然后添加一个从PreferenceFragment

扩展的Fragment
public class PreferenceActivity extends ActionBarActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.preference_layout);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        getFragmentManager().beginTransaction().replace(R.id.content, new CustomPreferenceFragment()).commit();
    }
}

和碎片

public static class CustomPreferenceFragment extends PreferenceFragment 
{
    @Override
    public void onCreate(final Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
    }
}

答案 1 :(得分:0)

在您的清单文件中,您可以为您的活动定义主题:

<activity
    android:name="YourActivity"
    ...
    android:theme="@android:style/Theme.Material" >
</activity>

请查看documentation

另外,请考虑到

  

@android:style / Theme.Material需要API级别21