android - 如何将按钮添加到 SettingsActivity 模板?
问题描述
我正在 Android 上开发(还不太舒服)一个 SettingsActivity,我在模板上得到了一个,做了一些调整,它工作正常。但我想在最后添加一个按钮。我的xml现在是这样的:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference
android:defaultValue="true"
android:key="gravacao_baby_near"
android:summaryOff="Quando o dispositivo estiver fora da zona segura, reproduzir aúdio gravado"
android:summaryOn="Quando o dispositivo estiver fora da zona segura, reproduzir aúdio gravado"
android:title="Habilitar reprodução da gravação" />
<EditTextPreference
android:capitalize="words"
android:defaultValue="Informações de emergência"
android:inputType="textMultiLine"
android:key="texto_tag"
android:maxLines="10"
android:selectAllOnFocus="true"
android:singleLine="false"
android:title="Texto exibido por Tag" />
<ListPreference
android:defaultValue="10"
android:entries="@array/settings_list_preference_titles"
android:entryValues="@array/settings_list_preference_values"
android:key="distancia_max_permitida"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:title="Distância aproximada máxima permitida" />
</PreferenceScreen>
我试图做的是在最后一个 ListPreference 之后添加以下代码,但它说“这里不允许”:
<Button
android:id="@+id/gravarTag"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/gravarTag"
android:textAllCaps="false" />
如何以正确的方式或简单的方式做到这一点?
解决方案
添加一个父 LinearLayout 然后添加首选项屏幕,按钮子项
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:height="match_parent"
android:width="match_parent>
<PreferenceScreen
<SwitchPreference
android:defaultValue="true"
android:key="gravacao_baby_near"
android:summaryOff="Quando o dispositivo estiver fora da zona segura, reproduzir aúdio gravado"
android:summaryOn="Quando o dispositivo estiver fora da zona segura, reproduzir aúdio gravado"
android:title="Habilitar reprodução da gravação" />
<EditTextPreference
android:capitalize="words"
android:defaultValue="Informações de emergência"
android:inputType="textMultiLine"
android:key="texto_tag"
android:maxLines="10"
android:selectAllOnFocus="true"
android:singleLine="false"
android:title="Texto exibido por Tag" />
<ListPreference
android:defaultValue="10"
android:entries="@array/settings_list_preference_titles"
android:entryValues="@array/settings_list_preference_values"
android:key="distancia_max_permitida"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:title="Distância aproximada máxima permitida" />
</PreferenceScreen>
<Button
android:id="@+id/gravarTag"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/gravarTag"
android:textAllCaps="false" />
</LinearLayout>
推荐阅读
- dart - 如何打印枚举的值?
- uml - 专业化或扩展点用例
- reactjs - 如何制作别名以指向外部文件夹?
- android - 出了点问题 android studio 应用程序刚刚退出
- c# - SceneManager.LoadScene 不加载场景
- android - 如何添加静态项目,例如“添加新联系人”,始终作为回收站视图的第一项?
- python - 避免函数中的冗余循环
- python - 我们可以复制别人的声音并在python中用作说话功能吗?
- java - AudioFormat 为 FLAC 文件返回异常但适用于 WAV 文件?
- java - 为什么 Spring data JpaRepository 方法名称补码不适用于 Class 类型参数?