片段表示Android应用中的可重用行为或用户界面的一部分。
RecyclerView.Adapter 更改时刷新 Fragment 视图
我正在关注 Shrine 示例应用程序,该应用程序是在 Google 官方代码实验室的 Kotlin 部分中为开发人员实现的。应用程序和代码实验室 最后一步,我们被要求 修改你的Shr...
如何纯粹在jetpack compose中使用supportFragmentManager启动片段?
我们仍然可以纯粹在撰写中使用片段吗?(活动以及具有撰写视图的片段)我的意思是如何使用 supportFragmentManager 启动片段? 自古以来...
Android - 从 Fragment 中为 ActionBar 图标设置动画时出现问题
我在应用程序的 ActionBar 中持续设置“刷新”图标动画时遇到一些问题。 我有一个容器 FragmentActivity,当用户浏览...时,它会交换片段。
getActionBar().setHomeAsUpIndicator() 打破导航抽屉“汉堡”动画
在我的应用程序中,我使用导航抽屉。我为导航抽屉中的每个项目指定了不同的图标,用于打开导航抽屉。 当我最初启动应用程序时,抽屉图标...
从 Firebase Firestore 检索上次插入的集合名称 |单击“添加客户端”按钮后,在 TextView 中显示上次插入的集合名称
在我的 Android 应用程序中,我有一个 MainActivity 作为主要基础,其中有一个标有“添加客户端详细信息”的按钮。单击此按钮后,用户应导航到新活动
我正在尝试将 RecyclerView 添加到片段,但没有成功。我已遵循本指南,但其中 RecyclerView 添加到 MainActivity,因此我尝试对其进行调整。但是,我不能...
我正在尝试跟踪我的 android kotlin 应用程序中的 webview 事件,如这篇 Medium 文章中所示:https://medium.com/airasia-com-tech-blog/android-network-traffic-tracking- 79d2bb957...
Android BottomSheetDialogFragment 状态变化监听器
我正在使用 BottomSheetDialogFragment,我需要知道状态何时发生变化。 例如有BottomSheetBehavior的状态 PEEK_HEIGHT_AUTO - 查看其父级的 16:9 比例键线。 ...
在我的应用程序中,我有单个活动和所有其他片段 我正在从 style.xml 设置活动背景,如下所示 @color/very_light_gray 在我的应用程序中,我有单个活动和所有其他片段 我正在从 style.xml 设置活动背景,如下所示 <item name="android:windowBackground">@color/very_light_gray</item> 现在,对于一个特定的片段,我想将背景设置为透明,但我无法做到这一点,在片段中尝试的以下代码对我不起作用 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // create ContextThemeWrapper from the original Activity Context with the custom theme final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), R.style.yourCustomTheme); // clone the inflater using the ContextThemeWrapper LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper); // inflate the layout using the cloned inflater, not default inflater return localInflater.inflate(R.layout.yourLayout, container, false); } 知道怎么做吗? 这不是完美的解决方案,但它有效 不要使用 Fragment,而是使用 DialogFragment //exploreCategory is argument class MyFragment(val exploreCategory: ExploreCategory) : DialogFragment() { override fun onStart() { super.onStart() setWindowParams() } private fun setWindowParams(){ dialog?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) dialog?.window?.setLayout( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT ) } } 剩余代码与您在片段中编写的代码相同 要在片段中显示使用下面的代码,如果在活动中显示则使用fragmentManager MyFragment(exploreCategory).show(childFragmentManager,null) //exploreCategory is argument, you can choose to send no arguments 创建回调并在 Acitvity 中实现它 interface OnFragmentDisplay{ onFragmentDisplay(); } 当此片段显示时将活动背景更新为透明..或在活动中将其设置为主题 请参阅 此链接 和 此 可能会有所帮助 你试过这个吗 fragment.getView().setBackgroundColor(Color.WHITE); 在样式应用程序中使用 null 作为颜色 <item name="android:windowBackground">null</item> 您的 Activity 容器布局背景应该是透明的。然后为Fragment的布局设置背景颜色。对于特定片段的布局,设置透明颜色以获得您所需的场景。 简单的方法是为该特定片段的根布局设置背景颜色,如下所示 android:background="@android:颜色/透明" 因此,假设您希望活动和片段对于特定片段是透明的(不太清楚这是否是您想要的问题,但我假设它是)..您需要设置“当“透明”片段附加到它时,“主机”活动背景变为透明。当任何其他片段附加到它时,您将需要重置活动背景,否则它将保持透明.. 有几种方法可以做到这一点,但我将选择“相当”简单的方法: 在你的透明片段中: @Override public void onStart() { super.onStart(); // I'm using null here because drawing nothing is faster than drawing transparent pixels. getActivity().getWindow().setBackgroundDrawable(null); getView().setBackground(null); } @Override public void onStop() { super.onStop(); getActivity().getWindow().setBackgroundDrawable(new ColorDrawable(@color/very_light_gray)); } 不完全确定这是否是您想要的效果。 祝你好运。 亲切的问候, 希杰 您必须将您的 Activity 也设置为透明。 android:background="@android:color/transparent" 由于您的 Activity 有 @color/very_light_gray,即使您将 Fragment 设置为 @android:color/transparent 也不起作用。 每个视图必须有透明背景以避免重叠。 在实例化片段时,您可以在活动中使用类似下面的代码。您可以使用自己的颜色来代替 Color.White。 fragment.getView().setBackgroundColor(Color.WHITE); 在代码中添加这一行 getActivity().getWindow().setBackgroundDrawableResource(R.drawable.my_drawable); 将活动布局的样式设置为 <style name="RootLayout" parent="AppTheme"> <item name="android:background">@drawable/app_transparent_background</item> </style> 并将其在 Activity 的父布局中设置为 <LinearLayout 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" style="@style/RootLayout" ...> 在其他要设置白色或其他彩色背景的片段中,在这些片段的主布局中设置不同的样式。 会起作用的 您刚刚在代码下面设置了布局片段的背景: <LinearLayout ... android:background="@android:color/transparent"/> 两步: 第一步 - 创建一个具有透明背景的视图(在 XML 文件中)。 在android studio中,找到“res”文件夹,右键单击它,new -> android resource file。比在出现的对话框中输入: File name:{这里放任何东西。例如 - “my_fragment”(不带引号)}请注意,只有小写字母、数字和下划线才可以 Resource type: 布局 Root element: LinearLayout(在您学会更好地了解 XML 布局之后,您可以在此处放置其他任何内容) Source set:主要 Directory name:布局。 在出现的窗口中切换到“文本”模式而不是“设计”(查找屏幕左下角的选项卡)。 而不是复制粘贴它而不是文件的内容(它非常相似,我们只是在此处添加“透明”背景): <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" > </LinearLayout> 第二步 - 在片段中膨胀此布局。 创建扩展 Fragment 的片段类并重写 onCreateView() 方法,在该方法内膨胀您的视图并返回它: public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) // assuming you named your xml file "my_fragment": // for other names replace R.layout.my_fragment with R.layout.put_your_name_here View view = inflater.inflate(R.layout.my_fragment, container, false); return view; } 当然,不要忘记在活动中创建片段的实例!
我想要实现的效果是将输入(新)片段覆盖在退出(旧)片段之上, 但是当我用新片段替换旧片段时,旧片段就消失了,新片段滑动了......
我遇到了 android studio 设计器中显示的 framgent 问题,但在设备上启动时却没有。 活动_main.xml: ...
我正在 Listview 上的线程池上创建 AsyncTask。我正在通过 AsyncTask 数组处理这些任务。当片段被破坏时,我必须删除这些任务,并且我必须再次进行...
我在片段中有以下布局 标题图片 ===================================== 选项卡 1。选项卡 2。选项卡3。 ===================================== 碎片 A. 碎片 B. ...
任何人都可以帮助我,我使用 mvvm 模型在我的应用程序中显示电影信息,我想我做了所有正确的事情,但是当我运行我的应用程序时,它在片段和主要活动中没有显示任何内容...
android.view.InflateException:膨胀类 androidx.fragment.app.FragmentContainerView 时出错
我将我的应用程序作为公开测试版发布到 Play 商店。当我使用模拟器运行它或通过 Android Studio 连接手机时,我没有收到任何错误。但是,当我安装该应用程序时...
如何显示使用Camerax API(Android)拍摄的图像
如何在Android中显示使用CameraX拍摄的图像。 我的情况:我有两个片段。在其中一个片段中,我实现了 CameraX 功能来拍摄照片并将其保存在本地。 ...
向上滚动 reyclerview android 时项目正在更新?
我正在制作一个应用程序,其中我必须将数据插入到reyclerview中,recyclerview工作正常,但问题是当我向上滚动适配器时重新更新数据,所以要解决这个问题...
如何替换 setTargetFragment() 既然它已被弃用
setTargetFragment() 在 Java 中已被弃用,我不明白它的正确替代品,因为 android 文档使用它并且已经过时了。我相信 FragmentManager 是正确的替代品...
为什么registerForActivityResult总是返回相同的结果?
当我第一次和第二次按下开关时,请求对话框显示并按下不允许开关正常工作。 但是第三次当我按下开关时,请求对话框没有显示,我总是得到
当我尝试从 firebase 获取数据时,我的微调器似乎没有填充。请帮我。 这是初始化旋转器的代码: 私有无效 initLocation() { 数据库参考...