- 一、介绍
- 二、简单使用
- 以下将会通过简单的Demo实现Preference的样例
- 引入
- build.gradle
- MainActivity.java
- activity_main.xml
- SettingFragment.java
- pref_setting.xml
- 三、组件的使用
- P r e f e r e n c e C a t e g o r y \color{HotPink}{ PreferenceCategory } PreferenceCategory
- P r e f e r e n c e \color{HotPink}{Preference} Preference
- D i a l o g \color{HotPink}{Dialog} Dialog
- a r r a y s . x m l \color{HotPink}{arrays.xml} arrays.xml
- 可 跳 转 的 P r e f e r e n c e \color{HotPink}{可跳转的Preference} 可跳转的Preference
- S w i t c h P r e f e r e n c e C o m p a t \color{HotPink}{SwitchPreferenceCompat} SwitchPreferenceCompat
- D r o p D o w n P r e f e r e n c e \color{HotPink}{DropDownPreference} DropDownPreference
- a r r a y s . x m l \color{HotPink}{arrays.xml} arrays.xml
- S e e k B a r P r e f e r e n c e \color{HotPink}{SeekBarPreference} SeekBarPreference
- 总结
- ∗ 注 : 转 载 请 注 明 出 处 . \color{HotPink}{*注:转载请注明出处.} ∗注:转载请注明出处.😡
👉持续更新,敬请关注…
做 为 一 个 m a r k d o w n 的 小 白 , 跪 求 大 佬 教 下 如 何 制 作 页 内 跳 转 的 目 录 \color{LightSeaGreen}{做为一个markdown的小白,跪求大佬教下如何制作页内跳转的目录} 做为一个markdown的小白,跪求大佬教下如何制作页内跳转的目录🙏
一、介绍二、简单使用原有的
android.support库已经废弃,建议使用androidx.preference,preference是一个非常简洁的设置页面,并且与系统界面拥有高契合度,让用户不会有太多的突兀感。
用官方的话来说就是
无需与设备存储空间交互,也不需要管理界面,便能构建交互式设置画面。此库自带 Material 主题,可在不同的设备和 *** 作系统版本之间提供一致的用户体验。
以下将会通过简单的Demo实现Preference的样例
- 引入
build.gradle// Java language implementation implementation "androidx.preference:preference:1.2.0" // Kotlin implementation "androidx.preference:preference-ktx:1.2.0"
- MainActivity.java
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.settings, new SettingFragment())
.commit();
}
}
- activity_main.xml
- SettingFragment.java
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceManager;
public class SettingFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener {
private SharedPreferences sharedPreferences = null;
private Preference loginDjiAccount;
@Override
public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
setPreferencesFromResource(R.xml.pref_setting, rootKey);
//用于取值的SharedPreferences
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
initView();
}
private void initView() {
loginDjiAccount = findPreference("login_dji_account");
if (loginDjiAccount != null) {
loginDjiAccount.setOnPreferenceClickListener(this);
}
}
@Override
public boolean onPreferenceClick(@NonNull Preference preference) {
switch (preference.getKey()) {
case "login_dji_account":
String rtmpUrlStr = sharedPreferences.getString("rtmp_url_pre", "");
if ("".equals(rtmpUrlStr)) {
Toast.makeText(getActivity(), "请在直播推流地址中随意填写值,再来点我...", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "填写了:" + rtmpUrlStr, Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
return false;
}
}
- pref_setting.xml
以上为一个简单的Preference的使用
官方API androidx.preference
三、组件的使用
- P r e f e r e n c e C a t e g o r y \color{HotPink}{ PreferenceCategory } PreferenceCategory
PreferenceCategory
用于对相似的Preference进行分组的容器。PreferenceCategory显示一个类别标题,将Preference进行分组归类。
key 释义 app:icon
设置图标 app:key
设置key,类似于 android:id
app:summary
子标题,类似于注释的作用 app:title
标题 app:enabled
true或false,设置是否可 *** 作 app:initialExpandedChildrenCount
value为int类型,类似于抽屉效果,int值为不隐藏的数量,与上图中显示 高级
效果一致
- P r e f e r e n c e \color{HotPink}{Preference} Preference
Preference
类似于Button。可进行点击,具有大标题、小标题等。
key 释义 app:key
设置key,类似于 android:id
app:summary
子标题,类似于注释的作用 app:title
标题 app:enabled
true或false,设置是否可 *** 作 app:icon
设置图标 app:singleLineTitle
设置为true时,超出屏幕部分自带省略号
- D i a l o g \color{HotPink}{Dialog} Dialog
Dialog类型组件
点击d出Dialog组件。常见的有三种,输入框d窗、单选d窗、多选d窗。
key 释义 app:enableCopying
设置true时,用户可长按复制值 app:key
设置key,类似于 android:id
app:summary
子标题,类似于注释的作用 app:title
标题 app:useSimpleSummaryProvider
设置为true时,将会把选中或输入的值显示到summary中 app:entries
该值是将array中的值作为显示值 app:entryValues
当选中某项时,该值作为value进行存储
- a r r a y s . x m l \color{HotPink}{arrays.xml} arrays.xml
将该文件放入value文件夹
- 返航
- 悬停
- 最后一航点降落
- 返回第一航点悬停
- GO_HOME
- NO_ACTION
- AUTO_LAND
- GO_FIRST_WAYPOINT
- 悬停
- 降落
- 返航
- HOVER
- LANDING
- GO_HOME
- 可 跳 转 的 P r e f e r e n c e \color{HotPink}{可跳转的Preference} 可跳转的Preference
可跳转的Preference
点击该组件,可跳转网页。
key 释义 app:summary
子标题,类似于注释的作用 app:title
标题 intent
跳转组件 intent:data
跳转地址
- S w i t c h P r e f e r e n c e C o m p a t \color{HotPink}{SwitchPreferenceCompat} SwitchPreferenceCompat
SwitchPreferenceCompat
该组件为开关组件,同时可通过该组件控制其他组件是否可 *** 作。
key 释义 app:key
设置key,类似于 android:id
app:summary
子标题,类似于注释的作用,默认值 app:app:summaryOn
打开时所显示的副标题 app:app:summaryOff
关闭时所显示的副标题 app:title
标题 app:dependency
填写所属上级的id,可被填写ID的控件控制
- D r o p D o w n P r e f e r e n c e \color{HotPink}{DropDownPreference} DropDownPreference
DropDownPreference
该组件为下拉按钮d窗,点击d出的下拉d窗将会在按钮旁显示.
key 释义 app:key
设置key,类似于 android:id
app:title
标题 app:entries
该值是将array中的值作为显示值 app:entryValues
当选中某项时,该值作为value进行存储 app:useSimpleSummaryProvider
副标题将会采用选中值
- a r r a y s . x m l \color{HotPink}{arrays.xml} arrays.xml
将该文件放入value文件夹
- 返航
- 悬停
- 最后一航点降落
- 返回第一航点悬停
- GO_HOME
- NO_ACTION
- AUTO_LAND
- GO_FIRST_WAYPOINT
- 悬停
- 降落
- 返航
- HOVER
- LANDING
- GO_HOME
- S e e k B a r P r e f e r e n c e \color{HotPink}{SeekBarPreference} SeekBarPreference
总结
SeekBarPreference
该组件为横向滑动条组件.
key 释义 app:key
设置key,类似于 android:id
app:title
标题 app:defaultValue
滑动条的默认值
- 后续会持续进行更新各个属性,敬请关注。
- 有疑问请留言或通过私信,我会尽快回复。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)