gpt4 book ai didi

android - 如何在该应用程序的 Android 设置/应用程序/应用程序设置中显示的 xamarin android 应用程序中创建应用程序设置?

转载 作者:行者123 更新时间:2023-12-05 00:19:38 24 4
gpt4 key购买 nike

我已经阅读了这里的文档:
https://developer.android.com/guide/topics/ui/settings

上面的页面讨论了在您的应用程序中创 build 置 UI,并使用 XML 文件显示(它并没有告诉您顺便放置的位置)。

我不想在我的应用程序中添加设置 UI。当您从该列表中选择我的应用程序时,我只想在应用程序下的 android 设置应用程序中显示一个设置,它已经有一个名为“应用程序设置”的部分。我想在这里为我的应用程序添加一个设置,并能够从我的应用程序中读取它。 (能够从我的应用程序中写入它也是一个奖励。)

这是否可以做到这一点,如果可以,有人可以给我举个例子。

谢谢你的时间。

最佳答案

如果你想实现这一点,你应该首先添加以下 nuget 包。
Xamarin.Android.Support.v7.Preference
然后创建xml文件夹,添加preferences.xml .

enter image description here

这是代码添加preferences.xml用于检测。

<PreferenceScreen
xmlns:app="http://schemas.android.com/apk/res-auto">

<SwitchPreferenceCompat
app:key="notifications"
app:title="Enable message notifications"/>

<Preference
app:key="feedback"
app:title="Send feedback"
app:summary="Report technical issues or suggest new features"/>

</PreferenceScreen>


然后创建一个名为 MySettingsFragment.cs 的类, PreferenceFragmentCompat来自 Android.Support.V7.Preferences , 填充 preferences.xml通过 SetPreferencesFromResource方法。
using Android.OS;
using Android.Runtime;
using Android.Support.V7.Preferences;
using Android.Views;
using Android.Widget;

namespace App32
{
public class MySettingsFragment : PreferenceFragmentCompat
{
public override void OnCreatePreferences(Bundle savedInstanceState, string rootKey)
{
SetPreferencesFromResource(Resource.Xml.preferences, rootKey);

}
}
}

最后,我们可以添加一个 FrameLayout在你的 layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/settings_container"/>
</RelativeLayout>

在 Activity 中使用 MySettingsFragment喜欢 Fragment的交易。
    public class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);
SupportFragmentManager.BeginTransaction().Replace(Resource.Id.settings_container,new MySettingsFragment()).Commit();

}
}
}

这是运行截图。

enter image description here

关于android - 如何在该应用程序的 Android 设置/应用程序/应用程序设置中显示的 xamarin android 应用程序中创建应用程序设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62422187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com