android-activity 相关问题

有关在Android中创建或管理活动的问题。在Android应用程序中,Activity是一个组件,它提供允许用户执行某些操作的用户界面。简单的例子包括:拨打电话,拍照,发送电子邮件或查看地图。

为什么代码是在意图重定向代码之后执行的?

我有这个Android代码: 意图 launchIntent = packageManager.getLaunchIntentForPackage(context.getPackageName()); cpa.startMainActivity(launchIntent.getComponent(), user); // ...

回答 2 投票 0

Android 活动之外的文本本地化?

我有一个应用程序,它在域、数据和表示层之间有明确的区别。我有从我的服务器获取的数据模型,它被转换为域模型并交付...

回答 1 投票 0

以编程方式关闭 noHistory="true"

我有一个启动活动,在 Manifest.xml 中设置了 noHistory="true" 。 在活动中,我显示了一个信息文本,用户可以在其中单击启动 CustomTabIntent 的链接。 什...

回答 1 投票 0

非导出活动:在模拟器上启动;手机上的安全异常

我的项目中有一个未导出的活动。 如果我尝试使用 adb 在手机上启动它: adb shell am start -n "包名/活动名" 我收到错误: java.lang.SecurityException: 允许...

回答 2 投票 0

以编程方式发送短信,无需打开消息应用程序

到目前为止,我正在使用以下代码通过我的应用程序向另一部手机发送短信。 Intent Intent = new Intent( Intent.ACTION_VIEW, Uri.parse( "sms:" + srcNumber)); 意图.putEx...

回答 6 投票 0

让活动保持沉浸式模式

我在整个活动中保持沉浸式模式时遇到困难。 我有一个由各种片段组成的活动。在初始(主)片段中,启用了屏幕旋转。哈...

回答 1 投票 0

第一个活动需要很长时间才能显示

我的应用程序中有一个非常简单的第一个活动,这是一个“启动”活动。它仅显示图像,并在一个小动画之后启动我的应用程序的主菜单活动。 问题是我...

回答 1 投票 0

Android SplashScreen API 与 AppCompatActivity 和 Material 不兼容

似乎Android Splash Screen API 与AppCompatActivity 和Material Theme 不兼容。好的,正如链接中所述,它仅涉及 Activity 类而不是 AppCompatActivity 类,但我...

回答 1 投票 0

为什么当一个 Activity 跳转到另一个 Activity 时我的 Activity 无法运行

在Android中,一个活动到另一个活动运行,但我无法在设备上的第二个活动中观看任何内容。 我尝试更改运行确认并运行特定活动,但同时出现此问题

回答 1 投票 0

无法解析符号“ViewModelProvider”

我想使用android studio的给定登录活动(文件>新建>活动>登录活动),但是当我添加该活动时,我收到了ViewModelProvider的错误。我尝试寻找解决方案...

回答 2 投票 0

在Fragment之间传递数据到Activity

我需要在 5 个片段之间传递数据到一个 Activity,当我到达第 5 个片段时,这些片段一个接一个地发送数据,然后我需要存储所有 5 个片段数据,我们该如何做到这一点。任意

回答 9 投票 0

使用按钮从任何地方打开 Activity

我正在开发一个应用程序,当从 Android 设备中的任何位置按下特定序列的按钮时,该应用程序应该执行某项功能。例如,如果按住音量降低按钮长达 m...

回答 1 投票 0

将照片从图库共享到我的 MAUI .NET Android 应用程序后如何获取照片路径

我想将照片分享到我的 MAUI .NET Android 应用程序。目前我得到的唯一信息是照片 URI。 这是我的 MainActivity.cs: [活动(主题=“@style/Maui.SplashTheme”,

回答 1 投票 0

Android为fragment设置透明背景

在我的应用程序中,我有单个活动和所有其他片段 我正在从 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; } 当然,不要忘记在活动中创建片段的实例!

回答 12 投票 0

活动未创建

一旦检测到跌倒,我就会尝试显示确认屏幕。如果检测到跌倒,我会调用“showConfirmation”,它遵循以下流程: 检测到跌倒时调用的方法: 公众号...

回答 1 投票 0

持久数据和非持久数据的区别

onPause() 应该用于保存持久性数据,onSaveInstanceState(Bundle) 通常用于保存非持久性数据。这是什么意思?持久性和非持久性有什么区别...

回答 4 投票 0

是否可以中断finish()

我有一个以单任务模式(Android 2.2)运行的活动,它从其他活动或服务接收意图。我的活动将每个收到的意图推送到队列中并对其执行某些操作...

回答 3 投票 0

需要点击后退箭头两次才能返回到上一个活动,如何防止它

我有一个活动 A,当我单击活动 A 中的一个按钮并进入另一个活动 B 时,当我单击活动 B 中的后退箭头返回 A 时,它会进入同一个活动...

回答 1 投票 0

React Native - MainActivity 中的闪屏错误(找不到符号)

我尝试将闪屏添加到我的 React Native 项目中。 我使用这个 npm 包“react-native-splash-screen”。 根据这个npm包,我将MainActivity.java文件更改为: //飞溅

回答 1 投票 0

使用 overrideActivityTransition 进行活动转换在 Android 34 中不起作用

我正在使用 overridePendingTransition 来进行从 MainActivity 到 Sub-Activity 的转换。该转换将 MainActivty 从右侧移出,并将子活动从左侧移入屏幕。 我

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.