我有xml文件,定义了一些偏好屏幕,如下例所示
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="root_preferencescreen">
<PreferenceScreen android:key="general_sett" android:title="general settings" />
....
<PreferenceScreen android:key="extras_sett" android:title="extras settings" />
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
我希望能够增加首选项屏幕文本的字体大小,但因为在首选项屏幕中没有android:textsize标签,我不知道如何实现这一点!
cod*_*lor 11
您只需android:textSize在主题中添加首选项屏幕即可:
例如:
<style name="settingsTheme" parent="PreferenceThemeOverlay">
<item name="colorAccent">@color/color_ten</item>
<item name="android:background">@color/colorPrimaryLight</item>
<item name="android:windowAnimationStyle">@style/WindowAnimationTransition</item>
<item name="android:textColorPrimary">@color/colorTextBodyLight</item>
<item name="android:textColorSecondary">@color/colorTextCaptionLight</item>
<item name="android:textSize">14sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
你的SettingsActivity班级:
public class SettingsActivity extends AppCompatActivity {
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
toolbar = (Toolbar)findViewById(R.id.toolbar_settings);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportFragmentManager().beginTransaction()
.replace(R.id.bodylayout, new PrefsFragment())
.commit();
}
@Override
protected void onPause() {
super.onPause();
}
}
Run Code Online (Sandbox Code Playgroud)
PrefsFragment 课程:
public class PrefsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {
@Override
public void onCreatePreferences(Bundle bundle, String s) {
}
@Override
public void onCreate(Bundle savedInstanceState) {
final Context myContext = this.getActivity();
//set your theme
myContext.setTheme(R.theme.settingsTheme);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settingspreference);
//do other stuffs
}
//.....
}
Run Code Online (Sandbox Code Playgroud)
小智 7
你可以制作一个TextView看起来像这样的布局xml:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
style="?android:attr/listSeparatorTextViewStyle"
android:textColor="@android:color/white"
android:id="@+android:id/title"
/>
Run Code Online (Sandbox Code Playgroud)
并在此处设置您的偏好类别的布局preferences.xml:
<PreferenceCategory
android:title="Category Title"
android:layout="@layout/pref_category"
/>
Run Code Online (Sandbox Code Playgroud)
只要TextView拥有id,@+android:id/title您就可以根据需要进行布局.还有一种方法可以用我尚未想到的样式来做到这一点.
| 归档时间: |
|
| 查看次数: |
8194 次 |
| 最近记录: |