- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 PreferenceFragmentCompat 创建一个设置屏幕,我想在用户上下滚动时执行一些功能,因此我需要检测用户滚动,我如何才能听到偏好屏幕滚动?下面是我的布局代码
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory
app:allowDividerAbove="false"
app:allowDividerBelow="false"
app:iconSpaceReserved="false"
app:title="General">
<SwitchPreference
app:iconSpaceReserved="false"
app:key="@string/theme_dark_key"
app:title="@string/theme_dark" />
</PreferenceCategory>
<PreferenceCategory
app:allowDividerAbove="false"
app:allowDividerBelow="false"
app:iconSpaceReserved="false"
app:title="Account">
<Preference
app:iconSpaceReserved="false"
app:key="@string/changeEmailKey"
app:title="@string/changeEmailTitle" />
<Preference
app:iconSpaceReserved="false"
app:key="@string/changePassKey"
app:title="@string/changePassTitle" />
<Preference
app:iconSpaceReserved="false"
app:key="@string/sign_out_key"
app:title="@string/sign_out" />
</PreferenceCategory>
<PreferenceCategory
app:allowDividerAbove="false"
app:allowDividerBelow="false"
app:iconSpaceReserved="false"
app:title="Social">
<Preference
app:iconSpaceReserved="false"
app:key="@string/blockListKey"
app:summary="@string/blockListSummery"
app:title="@string/blockListTitle" />
<Preference
app:iconSpaceReserved="false"
app:key="@string/contactKey"
app:summary="@string/contactSummery"
app:title="@string/contactTitle" />
<SwitchPreference
app:iconSpaceReserved="false"
app:key="@string/notificationKey"
app:title="@string/notificationTitle" />
</PreferenceCategory>
<PreferenceCategory
app:allowDividerAbove="false"
app:allowDividerBelow="false"
app:iconSpaceReserved="false"
app:title="Others">
<Preference
app:iconSpaceReserved="false"
app:key="@string/reportProblemKey"
app:summary="@string/reportProblemSummery"
app:title="@string/reportProblemTitle" />
</PreferenceCategory>
</PreferenceScreen>
这是我的事件布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/backgroundColor"
android:orientation="vertical">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/toolbarLayout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/backgroundColor"
app:elevation="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:animateLayoutChanges="true"
android:orientation="horizontal">
<ImageView
android:id="@+id/settingBack"
android:layout_width="35dp"
android:layout_height="match_parent"
android:contentDescription="@string/none"
android:src="?attr/mic_back" />
<TextView
android:id="@+id/settingTitle"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:contentDescription="@string/none"
android:gravity="center_vertical"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:textColor="?attr/textColor"
android:textSize="16sp" />
</LinearLayout>
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
android:id="@+id/setting_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
这是我的事件课
class SettingActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_setting)
supportFragmentManager.beginTransaction().replace(R.id.setting_container, settingFragment).commit()
}
}
这是偏好片段
class SettingPreferenceFragment: PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.preference, rootKey)
}
最佳答案
在 onCreatePreferences
中,您可以将滚动监听器添加到首选项的“ListView
”(在较新的 API 上,它实际上是一个 RecyclerView
)。唯一的问题是当 onCreatePreferences
被调用时,getListView()
返回 null
。通常我会使用 doOnPreDraw
,但没有 View 可以轻松访问。相反,您可以使用 Handler
来延迟调用,直到 Views
布局完毕。
Handler(Looper.getMainLooper()).post {
listView.setOnScrollChangeListener { view, x, y, dX, dY ->
// Code here
}
}
关于滚动监听器上的 PreferenceFragmentCompat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61366507/
问题是如何与其他嵌套的 PreferenceFragmentCompat 构建 PreferenceFragmentCompat。 主要 Activity : public class MainAct
我尝试为我的 Android 应用程序创建一个设置 Activity ,但是当我单击应该打开设置 Activity 的按钮时,我收到以下错误,并且我的应用程序返回到我的主要 Activity 。 错误
我正在使用 PreferenceFragmentCompat 创建一个设置屏幕,我想在用户上下滚动时执行一些功能,因此我需要检测用户滚动,我如何才能听到偏好屏幕滚动?下面是我的布局代码
我正在尝试使用 PreferenceFragmentCompat 设置我的 SettingsFragment 但 android studio 给出一个错误,即无法解析符号 PreferenceFra
我创建了一个 PreferenceFragmentCompat 设置,一切正常,但我注意到有些奇怪,当加载首选项屏幕时第一次单击设置按钮,我触摸了一些首选项,但它没有响应我的第一次触摸,但是正常工作后
我正在使用 PreferenceFragmentCompat(来自 'com.android.support:preference-v7:28.0.0-rc02')来创 build 置菜单。 问题是我
我需要帮助来解决 PreferenceFragmentCompat 的问题,该问题根本不显示,控制台中没有错误,没有消息,什么也没有,只是一个空白页面。 该 fragment 显示为在抽屉导航中选择元
我用 ViewPager 创建了一个应用程序。当我进行调试构建并在手机上进行测试时,一切正常。 (不是模拟器)但是当我构建一个发布 .apk 并安装它时,PreferenceFragmentCompa
在我的 Android 应用程序中,我定义了一个非常基本的 PreferenceScreen: 并实现了相应的PreferenceFragmentCompat类: class
我需要为我的 PreferenceFragmentCompat 自定义布局。在 PreferenceFragmentCompat 的文档中看来您可以在 onCreateView() 中膨胀并返回一个
我正在尝试将 EditTextPreference 的值放入摘要中。有人可以告诉我该怎么做吗?我的 OnSharedPreferenceChangeListener 似乎不起作用。 import an
我正在尝试创建一个扩展 AppCompatActivity 并在其中有两个 fragment 的 Activity(一个在另一个之下 - 只需使用 LinearLayout)。我希望第一个 fragm
我用的是androidx。在设置 fragment 中,我想创建“首选项”按钮并单击它们以触发一些单独的事件。 如何在特定首选项上实现点击监听器? 这是我的一些代码: import android.o
我创建了一个具有自定义 ImageView 布局的首选项,如下所示: 我的布局是这样的: 但我不知道如何获取对它的引用。我试图通过这样做将它放在 onCreateView 方法中: @Overr
我正在使用支持库中的 PreferenceFragmentCompat(preference-v14:23.0.1 - 虽然我也尝试过使用 23.1.1)。我将所有偏好设置都放在一个 XML 文件中,
我创建了一个首选项屏幕并在扩展 PreferenceFragmentCompat 的类中进行了膨胀。但是偏好项之间的分隔线没有显示 最佳答案 如果使用 AndroidX,请将以下属性添加到 XML 中
标题说明了一切:如何设置 PreferenceFragmentCompat 的样式。我的 v14/style.xml 是 @style/Widget.EditText.W
我正在使用 PreferenceFragmentCompat,但我认为它的样式不正确。 Preferences 的标题似乎太大了,PreferenceCategory 文本不可读,整个想法似乎不对。
我正在覆盖 v7 支持库中的 PreferenceFragmentCompat 类,以便在我的应用程序中提供设置屏幕。我需要在 PreferenceScreen 中设置项目的文本颜色。 这是我尝试过的
我想覆盖 v14 PreferenceFragmentCompat 使用的 accentColor。 我在我的 Android 应用的外框上使用了粉红色强调色。这在许多情况下都会产生问题,因为它会导致
我是一名优秀的程序员,十分优秀!