我正在开发一个应用程序,在那里我为设置设置了一个活动。我试图使用android工作室模板来创建一个活动设置,但正在创建的代码结构太复杂了。有人能告诉我如何创建一个类似于android工作室模板但没有标题的settingsActivity吗?提前谢谢你的回答。问候。
要创建单个设置活动,您可以尝试以下伪代码:
public class SettingsUI extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content,
new SettingsFragment()).commit();
assert getSupportActionBar() != null;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
PreferenceManager.setDefaultValues(this, R.xml.settings_preference, false);
}
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings_preference);
}
}
}
然后settings_preference.xml
代码:
PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference
android:key="sample_key"
android:title="@string/sample_title"
android:inputType="number"
android:summary="@string/sample_summary"/>
<EditTextPreference
android:key="sample2_key"
android:title="@string/sample2_title"
android:inputType="number"
android:summary="@string/sample2_summary"/>
</PreferenceScreen>
在styles.xml文件中,如果您只想删除特定活动中的actionbar(您说的是header),请制作一个样式标记。
<style name="AppTheme1" parent="Theme.AppCompat.Light.NoActionBar" />
转到AndroidManifest文件,请将上面的样式应用到您的活动中,比如这样。
<activity android:name=".SettingActivity" android:theme="@style/AppTheme1"></activity>
如果您想删除所有活动中的actionbar,那么您可以在styles.xml文件中更改AppTheme样式,如下所示。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/mainColor</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
... ...