问题标签 [android-components]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android - 比较按钮背景和资源
我正在尝试将按钮背景与资源文件进行比较。例如,我有按钮
按钮
背景有drawable/frame_genre
。我正在尝试将此背景与 Resouce 文件进行比较。
例如
那么这个if
语句检查按钮有什么背景。如果是,frame_genre
那么它应该继续到块。
在我的情况下,背景按钮是frame_genre
并且if
语句应该是 TRUE。但是由于某种原因,当我记录按钮背景Log.d(TAG, btnBackground.getConstantState().toString());
和frame_genre
Log.d(TAG,getResources().getDrawable(R.drawable.frame_genre).getConstantState())
它打印两个不同的内存位置。
毕竟,我不明白为什么我指向的是同一个文件,即frame_genre
. 谁能向我解释有什么不同?
而且我正在寻找一种检查按钮的方法,因为我想在单击后更改其背景。
android - 在第二个导航图中使用 Fragment 时,FragmentDirections 中不会生成操作
FragmentA 在 nav_graph_first 中使用,并且所有相应的操作方法/导航都在 FragmentADirections 中创建,但是当在 nav_graph_second 中使用 FragmentA 时,FragmentADirections 中不会生成额外的导航。为什么?这是导航组件限制吗?
所有操作都是使用导航编辑器创建的。
这些是项目中实现的依赖项:
应用插件:'androidx.navigation.safeargs.kotlin'
实现“androidx.navigation:navigation-fragment-ktx:2.3.0-alpha06”
实现“androidx.navigation:navigation-ui-ktx:2.3.0-alpha06”
android - 我可以检查任何应用的布局以找出它们在 Android 设备上使用的组件吗?
我可以拿一个我喜欢的应用程序并检查它以查看它是由哪些组件构建的吗?
以安卓“开发者选项”设置的菜单结构为例。
假设我想看看它是否使用 one big RecyclerView
、a NestedScrollview
with aRecyclerView
或 a RecycleView
with multiple nested RecycleView's
。
那可能吗?
android - Android导航 - 隐藏加载/启动屏幕的操作栏?
我想知道是否有一个很好的模式/方法来隐藏启动/加载屏幕的操作栏?我知道这种模式不是很好,但我们正在改造一个使用这种模式的现有应用程序。无论如何,对于对话框或全屏片段等您可能不一定希望显示操作栏的事情,这似乎是一件常见的事情。
我知道它可以用类似的东西相当简单地完成
但我只是好奇是否有更好的方法来使用 NavOptions 或类似的东西来控制操作栏。
android - 如何使用导航 UI 组件从片段设置工具栏标题
我有一个带有 Android Studio 中默认布局的工具栏的活动,我可以通过以下方法轻松更改工具栏中的标题:
toolbarTitle
在导航菜单布局中已经实现了安全参数。
但是,现在我正在尝试从通过上述方法打开的片段更改标题,例如;
我的活动->打开->我的片段
MyFragment 更改标题
我确实知道如何在不使用导航 UI 组件的情况下更新它,但如果可能的话,我想使用它们。
其他类似的问题仅与我上面已经提供的示例有关,即打开新片段时或建议使用不使用导航 UI 组件的典型方法,均未涵盖此特定场景。
android - 设置一年日历的最小日期时在日历标题中显示隐藏日期
DatePicker
我为( )设置了一个最小日期#setMinDate
,虽然没有显示 minDate 之前的日期,但是如果我将年份更改为过去一年(与当前日期相同),然后按 OK,则选择的日期是一个日期在我给的 minDate 之前。
这是我使用的代码
请参阅屏幕截图以获取参考, 虽然我选择的日期是最大日期前一天,即我选择的是 2020 年星期一,9 月 28 日,因为它显示在标题中
在不更改任何内容的情况下切换到上一个日期后,在标题中显示 2019 sat,sept 28,它在日历中的隐藏日期中
我已经找了解决方法,但还没有解决,请帮助我,谢谢
android - 从最近清除应用程序时,Android Work Manager 定期工作请求不会重复
我已经使用 android 工作管理器实现了一个定期工作请求,如果应用程序处于前台或后台,工作会重复。
但是,当应用程序从最近的应用程序中清除时,工作经理会停止重复工作。
有解决方案或解决方法吗?
android - 在 android 中启动活动以获取结果时是否需要 unRegisterForActivityResult ?如何管理不同的请求代码?
我有两个关于在 android 中回调 registerForActivityResult 的问题。当活动将要销毁时,是否有必要取消注册此回调?或者这个回调是生命周期感知的并且在使用时是安全的?以及您使用时的另一个问题
ActivityResultContracts.StartActivityForResult()
它会给你带来结果数据。之前如何管理像 onActivityResult 这样的请求代码?假设您要使用不同的请求代码启动两个活动以获得不同的结果,依此类推。那么处理来自一项活动的不同请求代码的最佳方法是什么
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { 结果 -> if (result.resultCode == Activity.RESULT_OK) {
} }
android - Android Jetpack Compose Grid 外观视图
我的屏幕目前分为 3 个主要部分(我想可能有更好的方法):
- 第一部分是显示数据。它分为9个几乎相同的项目,以显示不同的现场(定期变化的数据)。它们现在在 3 行和 3 列中(我想可能有更好的方法)。
在它们下方,我有内部的屏幕选项卡导航,它将控制将在屏幕的最后部分显示的片段。
在屏幕的底部,我想我需要 fragmentFrame(我将研究它在 Jetpack Compose 中的等价物),以及更频繁更改的数据(数据显示在图表、地图等中)。在屏幕的第 2) 部分中选择特定选项卡时,将显示每个片段。
这是我创建屏幕的代码:
- 此外,我在从屏幕的第一部分创建单个项目以达到理想尺寸时遇到问题(我希望每列有 3 个项目,比例为 1:2:1)
我的项目状态类:
我仍然没有创建视图模型的东西,我也会接受包括它在内的答案。