android-layout 相关问题

布局定义用户界面的可视结构,例如活动,片段或应用程序窗口小部件的UI。

Jetpack Compose 中的动画重组(视图更改)

有没有一种方法可以在 Jetpack Compose @Composable 中自动动画组合变化?例如,如果在重组中删除了先前显示的小部件,淡出动画是否可以

回答 3 投票 0

Android 底部导航视图按主题设置样式

我希望我的用户能够更改我的应用程序的(颜色)主题。所以我们创建了多个主题。 <p>我希望我的用户能够更改我的应用程序的(颜色)主题。所以我们创建了多个主题。</p> <pre><code>&lt;resources&gt; &lt;!-- First Theme --&gt; &lt;style name=&#34;themeOne&#34; parent=&#34;Theme.AppCompat.NoActionBar&#34;&gt; &lt;item name=&#34;colorPrimary&#34;&gt;@color/themeOneColorPrimary&lt;/item&gt; &lt;item name=&#34;colorPrimaryDark&#34;&gt;@color/themeOneColorPrimaryDark&lt;/item&gt; &lt;item name=&#34;colorAccent&#34;&gt;@color/themeOneAccent&lt;/item&gt; &lt;item name=&#34;android:background&#34;&gt;@color/themeOneBackground&lt;/item&gt; ... &lt;/style&gt; &lt;!-- Second Theme --&gt; &lt;style name=&#34;themeTwo&#34; parent=&#34;Theme.AppCompat.Light.NoActionBar&#34;&gt; ... &lt;/style&gt; </code></pre> <p></p> <p>现在我想更改 BottomNavigationView 的外观。但找不到如何执行此操作的示例。</p> <pre><code>&lt;android.support.design.widget.BottomNavigationView android:id=&#34;@+id/nav_bottom&#34; app:menu=&#34;@menu/nav_bottom&#34; android:layout_width=&#34;match_parent&#34; android:layout_height=&#34;wrap_content&#34; android:layout_alignParentBottom=&#34;true&#34;/&gt; </code></pre> <p>但我想根据主题设置以下内容:</p> <pre><code>app:itemBackground=&#34;@color/colorPrimary&#34; app:itemIconTint=&#34;@color/white&#34; app:itemTextColor=&#34;@color/white&#34; </code></pre> </question> <answer tick="false" vote="3"> <p>这并不是您正在寻找的答案,但是当我尝试做同样的事情但没有成功时,我找到了一个解决方法,因此通过使 styles.xml 中的主题继承自材质组件(如果它们不太正确)您可以使用 .bridge 使它们更像 appcompat 主题)您可以更改底部导航的背景,例如我的黄色主题</p> <pre><code>&lt;style name=&#34;MyAppYellowTheme&#34; parent=&#34;Theme.MaterialComponents.Light.Bridge&#34;&gt; &lt;item name=&#34;colorPrimary&#34;&gt;@color/primary_yellow&lt;/item&gt; &lt;item name=&#34;colorPrimaryDark&#34;&gt;@color/primary_dark_yellow&lt;/item&gt; &lt;item name=&#34;colorAccent&#34;&gt;@color/accent_yellow&lt;/item&gt; &lt;item name=&#34;android:textColorPrimary&#34;&gt;@color/primary_text_yellow&lt;/item&gt; &lt;item name=&#34;android:colorBackground&#34;&gt;@color/background_light&lt;/item&gt; &lt;item name=&#34;tabLayoutStyle&#34;&gt;@style/Yellow.TabLayout&lt;/item&gt; &lt;/style&gt; </code></pre> 如果我像这样添加材质样式,<p>将使我的底部导航背景颜色= colorPrimary </p> <pre><code>&lt;com.google.android.material.bottomnavigation.BottomNavigationView android:id=&#34;@+id/navigation&#34; android:layout_width=&#34;match_parent&#34; android:layout_height=&#34;wrap_content&#34; style=&#34;@style/Widget.MaterialComponents.BottomNavigationView.Colored&#34; app:layout_constraintBottom_toBottomOf=&#34;parent&#34; app:menu=&#34;@menu/navigation&#34; /&gt; </code></pre> <p>可以在<a href="https://material.io/develop/android/components/bottom-navigation-view/" rel="nofollow noreferrer">这里找到这种样式的不同版本</a>,这是可行的,但您仍然需要对图标和文本执行一些操作,因此我有一个 switch 语句,并根据颜色(深色或浅色)切换像这样的颜色状态列表</p> <pre><code>ColorStateList colorStateList = getBottomNavColor(theme, getActivity()); navigationView.setItemIconTintList(colorStateList); navigationView.setItemTextColor(colorStateList); </code></pre> <p><strong>获取BottomNavController</strong></p> <pre><code>private ColorStateList getBottomNavColor(String theme, Context context){ switch (theme) { case Constants.THEME_BLUE: return ContextCompat.getColorStateList(context,R.drawable.bottom_nav_selector_blue); case Constants.THEME_YELLOW: return ContextCompat.getColorStateList(context,R.drawable.bottom_nav_selector_yellow); case Constants.THEME_GREEN: return ContextCompat.getColorStateList(context,R.drawable.bottom_nav_selector_green); case Constants.THEME_RED: return ContextCompat.getColorStateList(context,R.drawable.bottom_nav_selector_red); case Constants.THEME_PURPLE: return ContextCompat.getColorStateList(context,R.drawable.bottom_nav_selector_purple); case Constants.THEME_PINK: return ContextCompat.getColorStateList(context,R.drawable.bottom_nav_selector_pink); } return ContextCompat.getColorStateList(context,R.drawable.bottom_nav_selector_blue); } </code></pre> <p>再次不是你或我正在寻找的东西,但确实有效,而且可能会更糟,希望它有帮助</p> </answer> <answer tick="false" vote="0"> <p>我相信这应该有效</p> <pre><code>&lt;style name=&#34;BottomNavTheme&#34; parent=&#34;Widget.Design.BottomNavigationView&#34;&gt; &lt;item name=&#34;app:itemBackground&#34;&gt;@color/colorPrimary&lt;/item&gt; &lt;item name=&#34;app:itemIconTint=&#34;&gt;@color/white&lt;/item&gt; &lt;item name=&#34;app:itemTextColor=&#34;&gt;@color/white&lt;/item&gt; &lt;/style&gt; </code></pre> <p>然后添加到您的 XML </p> <pre><code>android:theme=&#34;@style/BottomNavTheme&#34; </code></pre> <p>例如,您还可以使用 Java 单独更改项目的样式</p> <pre><code>private Menu myMenu; BottomNavigationView menu = findViewById(R.id.your_menu_id); myMenu = menu.getMenu(); myMenu.findItem(R.id.your_menu_item_id).setIcon(R.drawable.your_new_icon); myMenu.findItem(R.id.your_menu_item_id).setTitle(&#34;some text&#34;); </code></pre> </answer> <answer tick="false" vote="0"> <p>我还遇到了谷歌对于底部菜单的恐惧。我需要对 5 个不同颜色的不同主题的支持,这是我从 Google 的 Material 3 网站获得的。所有颜色都改变了,除了下面的菜单,以及栏的状态和<pre><code>NavigationBar</code></pre>。由于颜色变化应该发生在片段中,因此任务变得很复杂。 <pre><code>Recreate()</code></pre>不起作用,所以我采取了一些不同的方式。如果需要更改状态栏和导航栏的颜色,则将 <pre><code>color</code></pre> 变量传递给它们,或者类似地创建一个新的 <pre><code>TypedValue</code></pre>。也许可以简化代码,但我不知道如何简化。</p> <pre><code>Started_Activity started_activity = (Started_Activity) getActivity(); // Replace the current fragment with a new instance of the Settings class started_activity.getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container_main, Settings.class.newInstance()).commit(); // Create TypedValue objects to hold resolved attribute values TypedValue typedValue = new TypedValue(); TypedValue typedValueText = new TypedValue(); // Resolve the colorSurfaceVariant and colorPrimary attributes from the current theme started_activity.getTheme().resolveAttribute(R.attr.colorSurfaceVariant, typedValue, true); started_activity.getTheme().resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValueText, true); // Get the resolved color values int color = typedValue.data; int colorText = typedValueText.data; // Find the BottomNavigationView and set its background and text colors BottomNavigationView bottomNavigationView = started_activity.findViewById(R.id.bottom_navigation); ColorStateList colorStateList = ColorStateList.valueOf(colorText); bottomNavigationView.setBackgroundColor(color); bottomNavigationView.setItemTextColor(colorStateList); bottomNavigationView.setItemIconTintList(colorStateList); </code></pre> <p>这就是我点击相应按钮后颜色变化的样子。首先是之前,然后是之后。T 颜色是官方 Google 调色板,取自此处 <a href="https://m3.material.io/theme-builder#/custom" rel="nofollow noreferrer">https://m3.material.io/theme-builder#/custom</a></p> <p><a href="https://i.stack.imgur.com/gjOBO.png" target="_blank"><img src="https://cdn.imgupio.com/i/AWkuc3RhY2suaW1ndXIuY29tL2dqT0JPLnBuZw==" alt="before"/></a><a href="https://i.stack.imgur.com/zEV2B.png" target="_blank"><img src="https://cdn.imgupio.com/i/AWkuc3RhY2suaW1ndXIuY29tL3pFVjJCLnBuZw==" alt="after"/></a></p> </answer> </body></html>

回答 0 投票 0

如何在android列表视图中添加PopupMenu?

如何在列表视图中添加选项菜单,如下截图所示。它取自 GooglePlay任何人都有示例代码或参考链接,如这个屏幕截图

回答 3 投票 0

Android studio 未找到 R.id.****

到目前为止一切都很好,但我显然触碰了一些东西并且发生了一些事情。 Android Studio 未找到 R.id.**** 和 R.layout.****。 我需要做什么才能解决问题?

回答 6 投票 0

文本选择手柄始终可见

我正在开发一个包含 Webview 的应用程序。用户在 Web 视图中选择文本后,面板会向上滑动并在 Web 视图顶部展开,并且可以隐藏所选文本。在这种情况下...

回答 1 投票 0

包括标签和数据绑定

我想使用 include 在同一视图中多次使用我的布局之一。假设我有一个包含一些 TextView 的 custom.xml。 自定义.xml: 我想使用 include 在同一视图中多次使用我的布局之一。假设我有一个 custom.xml,其中包括一些 TextView。 custom.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" android:orientation="vertical" > <TextView android:id="@+id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/text2" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> 我已多次在parent.xml中包含此布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <include layout="@layout/custom" android:id="@+id/layout1"/> <include layout="@layout/custom" android:id="@+id/layout2"/> </LinearLayout> 现在我想将我的数据模型绑定到此布局,但问题是我不知道如何将两个不同的数据模型绑定到 layout1 和 layout2,因为它们都是从一个布局 引用的custom.xml。据我所知,我可以在我的 xml 布局中添加此标签: <data> <variable name="user" type="com.myproject.model.User"/> </data> 但是我需要将两个不同的数据模型绑定到custom.xml。 我的问题是如何在一个视图中多次包含布局并使用数据绑定将不同的数据传递给它们?例如将数据传递到布局,但不将模型静态绑定到 xml。 我还发现了this问题,它也有同样的问题,但由于数据绑定是在较新版本的android中发布的,我正在寻找一种使用数据绑定解决相同问题的方法。以下是我为了澄清而引用的该问题的部分: 例如,我有一个精心设计的布局想要显示 在我看来是三次。每个实例都需要不同的 价值观。由于 include 基本上是获取 XML 并粘贴它 在这里,我需要更强大的东西。 您可以从 parent.xml 传递该信息 <include layout="@layout/custom" android:id="@+id/layout1" app:user="@{object of user1`}"/> <include layout="@layout/custom" android:id="@+id/layout2" app:user="@{object of user2`}"/> 这里需要从 User 传递 parent.xml 对象 确保 custom.xml 中有 <data> <data> <variable name="user" type="com.myproject.model.User"/> </data> 这里有相关详细解答,参考一下 我们知道如何在 setContentView() 中用作父视图的 XML 上使用 POJO 名称及其类型。如果我们包含资源中的任何布局,我们应该关注 include 标签,如下所示: <?xml version="1.0" encoding="utf-8"?> <layout xmlns:bind="http://schemas.android.com/apk/res-auto"> <data> <variable name="user" type="exapmpe.model.User" /> </data> <android.support.design.widget.CoordinatorLayout 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"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" bind:user="@{user}" /> </android.support.design.widget.CoordinatorLayout> </layout> 这里我们使用 bind 属性来传递对象以在内容屏幕上显示详细信息。请确保两个地方的对象名称应该相同,例如bind:user="@{user}。 content_main.xml 应如下所示: <?xml version="1.0" encoding="utf-8"?> <layout> <data> <variable name="user" type="exapmpe.model.User" /> </data> <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:id="@+id/content_main" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.firstName + user.lastName}" /> </RelativeLayout> </layout> 问题是包含的布局不被认为是数据绑定布局,看看这里了解如何解决它 1> 在使用 include 标签的主布局屏幕中添加 xmlns:bind="http://schemas.android.com/apk/res-auto" 此代码位于布局标签下。请查看屏幕截图供您参考。 2> 现在在您的 include 标签下添加 bind:includeLayoutViewModel="@{viewModel}" (在本例中添加您声明的 ViewModel 名称)有关更多信息,请查看屏幕截图 3> 现在,在您包含的布局屏幕中,在此处调用 ViewModel 以供参考,检查下面的屏幕截图(在屏幕截图中,有 TestViewModel 代表您提到您在主布局屏幕中声明的视图模型)

回答 4 投票 0

React 本机应用程序中未找到类相对布局错误

有没有人可以告诉我这个错误是在我将闪屏设置为我的反应本机应用程序后启动的。 在添加启动画面之前,我的应用程序正在运行,我认为

回答 1 投票 0

在BasicTextField Android Compose中获取光标位置(坐标)

我想在用户在BasicTextField中输入内容时获取当前光标的位置(x,y)。 BasicTextField 是可扩展的并且可以覆盖全屏。 我需要它来显示建议列表......

回答 1 投票 0

数据绑定...与此布局中视图使用的 ID 冲突

我在布局文件中使用 元素时遇到问题。确切的错误是: [数据绑定] {"msg":"\u003cinclude id\u003d\u0027@+id/displayArea\u0027\u003e 冲突...

回答 1 投票 0

Android构建从右向左滑动ListView项目显示删除按钮(覆盖在listview项目上)

我想创建滑动列表视图,当用户在列表视图项目上从右向左滑动时,用户将显示一些按钮选项。 它看起来如下图所示: 我见过一些滑动列表视图天秤座...

回答 3 投票 0

获取插图的正确方法

我有一个数据绑定布局中带有 RecyclerView 的 Activity。 RecyclerView 占据整个屏幕,并着眼于使 UX 全屏显示,绘制在状态栏和导航栏下方。 我打电话

回答 3 投票 0

创建 Android 智能应用横幅

Android设备有类似iOS 6智能应用横幅的解决方案吗? 这是智能应用横幅的代码 有没有类似iOS 6智能应用横幅的Android设备解决方案? 这是智能应用横幅的代码 <meta name="apple-itunes-app" content="app-id=311507490, affiliate-data=partnerId=30&siteID=k1CkFsOh4nQ"/> 从 Chrome 44 Beta 开始,您可以使用以下命令在 Chrome for Android 中推送您的应用程序 您网站上的本机应用程序安装横幅。 请看下面的答案。 旧答案 我自己需要这个,所以我创建了一个 jquery 插件来模仿 Android 和旧版 iOS 版本的智能横幅。 https://github.com/jasny/jquery.smartbanner 自 Chrome 44 Beta 起,您可以在您的网站上使用本机应用程序安装横幅在 Android 版 Chrome 中推送您的应用程序。为了启用它,需要满足几个标准: 您将需要一个网络应用程序清单文件 您必须使用 https 为您的网络提供服务 用户在两周内的两天内访问了您的网站两次。 在 Google 的官方文档中阅读更多相关信息。 您可以使用特殊参数将 Google 登录按钮添加到您的页面,然后用户可以登录并指定直接从您的网站安装您的应用程序的设备。 这是我所知道的最“官方支持”的实现: https://developers.google.com/identity/sign-in/web/android-app-installs 来自链接: 通过将 Google 登录按钮添加到您的网站,您可以自动提示用户将您的 Android 应用程序通过无线方式下载到他们的 Android 设备上。要启用此功能,您必须为 Web 和 Android 客户端使用相同的 Google Developers Console 项目,并配置 Web 应用程序的登录按钮。 您的网络应用程序必须使用 Google 登录按钮来提示您的网站用户在首次登录时下载您的应用程序。通过将 apppackagename 参数添加到您的登录按钮即可启用此功能。 有两个可用的 API: 要检测应用程序是否已安装,请使用 getInstalledRelatedApps(仅适用于 Chrome 80+) 包含一般信息的文章:https://web.dev/get-installed-lated-apps/ 带有代码的文档和演示(网络+应用程序)https://www.chromestatus.com/feature/5695378309513216 显示提示安装您的应用程序 带有代码示例的文章:https://web.dev/customize-install/ 文档:https://developers.google.com/web/fundamentals/app-install-banners/native

回答 4 投票 0

在android中删除图像的白色背景

我在android中的框架布局中添加了一个内部图像。但问题是我得到了一个白色背景。我需要删除那个白色背景。任何帮助将不胜感激......

回答 2 投票 0

如何在android中创建3D形状的布局或或按钮

在android XML中如何创建3d布局或3d按钮形状请帮助我 我已经创建了一个二维布局 我想添加 3D 形状。 android:elevation 和 android:translationZ 不起作用,因为...

回答 2 投票 0

如何获取应用于文本视图的字体名称

Textview 标签 = (TextView) findViewById(R.id.item_title); label.setText("解决我的问题!"); Log.d("TAG","字体系列:"+ String.valueOf(label.getTypeface())); 当我看到日志时,它返回 Font-...

回答 2 投票 0

NestedScrollView 破坏了 Android Studio 中的建议

这是奇怪的行为。我有这样的布局: 这是奇怪的行为。我有这样的布局: <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" style="@style/AppTheme.FragmentBackground.XXXX.Parent" android:layout_width="match_parent" android:layout_height="match_parent"> <include android:id="@+id/appbar" layout="@layout/layout_appbar" /> <LinearLayout android:layout_width="match_parent" app:layout_constraintTop_toTopOf="parent" android:layout_height="wrap_content"> </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout> 到目前为止,一切看起来都很完美。虽然,如果我用 NestedScrollView 替换 LinearLayout,突然之间,这些建议就不起作用了!如果我删除嵌套的滚动视图,一切似乎都会再次工作。这是我的 gradle 依赖项: implementation 'androidx.appcompat:appcompat:1.6.0' implementation 'androidx.appcompat:appcompat-resources:1.6.0' implementation 'androidx.core:core:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.navigation:navigation-fragment:2.5.3' implementation 'androidx.navigation:navigation-ui:2.5.3' implementation 'com.android.support:support-annotations:28.0.0' implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.5' implementation 'com.google.android.gms:play-services-location:21.0.1' implementation 'com.squareup.picasso:picasso:2.71828' implementation 'androidx.preference:preference:1.2.0' implementation 'org.apache.commons:commons-io:1.3.2' implementation 'androidx.fragment:fragment:1.5.5' // Forecast Charts implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' // maps v2 implementation 'androidx.asynclayoutinflater:asynclayoutinflater:1.0.0' implementation 'com.google.android.gms:play-services-maps:18.1.0' implementation 'com.google.maps.android:android-maps-utils:2.4.0' // needed for timestamps manip implementation 'net.danlew:android.joda:2.11.2' implementation "androidx.camera:camera-camera2:1.2.1" implementation "androidx.camera:camera-lifecycle:1.2.1" implementation "androidx.camera:camera-view:1.2.1" implementation 'com.google.android.gms:play-services-mlkit-barcode-scanning:18.1.0' //implementation 'com.google.mlkit:barcode-scanning:17.0.2' implementation 'androidx.window:window:1.0.0' 虽然我的 gradle 是 gradle-7.5-bin.zip 而我的插件是 plugins { id 'com.android.application' version '7.4.1' apply false id 'com.android.library' version '7.4.1' apply false id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false } 还会出现一个损坏的 IDE 的弹出窗口,以下是日志: java.lang.NullPointerException at org.jetbrains.android.dom.AttributeProcessingUtil.registerAttributesForClassAndSuperclasses(AttributeProcessingUtil.java:315) at org.jetbrains.android.dom.AttributeProcessingUtil.processLayoutAttributes(AttributeProcessingUtil.java:604) at org.jetbrains.android.dom.AttributeProcessingUtil.processAttributes(AttributeProcessingUtil.java:681) at org.jetbrains.android.dom.AndroidDomExtender.registerExtensions(AndroidDomExtender.java:56) at org.jetbrains.android.dom.AndroidDomExtender.registerExtensions(AndroidDomExtender.java:28) at com.intellij.util.xml.reflect.DomExtenderEP.extend(DomExtenderEP.java:91) at com.intellij.util.xml.impl.DynamicGenericInfo.runDomExtenders(DynamicGenericInfo.java:124) at com.intellij.util.xml.impl.DynamicGenericInfo.lambda$checkInitialized$0(DynamicGenericInfo.java:55) at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114) at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44) at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68) at com.intellij.util.xml.impl.DynamicGenericInfo.checkInitialized(DynamicGenericInfo.java:54) at com.intellij.util.xml.impl.DynamicGenericInfo.getAttributeChildrenDescriptions(DynamicGenericInfo.java:231) at com.intellij.xml.impl.dom.AbstractDomChildrenDescriptor.getAttributeDescriptor(AbstractDomChildrenDescriptor.java:184) at com.intellij.xml.impl.dom.AbstractDomChildrenDescriptor.getAttributeDescriptor(AbstractDomChildrenDescriptor.java:195) at org.jetbrains.android.dom.layout.LayoutElementDescriptor.getAttributeDescriptor(LayoutElementDescriptors.kt:124) at com.intellij.psi.impl.source.xml.XmlAttributeDelegate.getDescriptionImpl(XmlAttributeDelegate.java:68) at com.intellij.psi.impl.source.xml.XmlAttributeDelegate.lambda$getDescriptor$0(XmlAttributeDelegate.java:55) at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:158) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:39) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$3(CachedValueBase.java:227) at com.intellij.util.CachedValueBase.computeData(CachedValueBase.java:42) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$4(CachedValueBase.java:227) at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114) at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44) at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:228) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:28) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:72) at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:155) at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:121) at com.intellij.psi.impl.source.xml.XmlAttributeDelegate.getDescriptor(XmlAttributeDelegate.java:53) at com.intellij.psi.impl.source.xml.XmlAttributeImpl.getDescriptor(XmlAttributeImpl.java:191) at com.intellij.psi.impl.source.xml.XmlAttributeReference$1.compute(XmlAttributeReference.java:23) at com.intellij.psi.impl.source.xml.XmlAttributeReference$1.compute(XmlAttributeReference.java:20) at com.intellij.openapi.util.NullableLazyValue.getValue(NullableLazyValue.java:20) at com.intellij.psi.impl.source.xml.XmlAttributeReference.getDescriptor(XmlAttributeReference.java:110) at com.intellij.psi.impl.source.xml.XmlAttributeReference.resolve(XmlAttributeReference.java:50) at com.intellij.codeInsight.TargetElementUtilBase.getReferencedElement(TargetElementUtilBase.java:177) at com.intellij.codeInsight.TargetElementUtilBase.doGetReferenceOrReferencedElement(TargetElementUtilBase.java:165) at com.intellij.codeInsight.TargetElementUtilBase.getReferenceOrReferencedElement(TargetElementUtilBase.java:210) at com.intellij.codeInsight.TargetElementUtilBase.getReferencedElement(TargetElementUtilBase.java:254) at com.intellij.codeInsight.TargetElementUtilBase.doFindTargetElement(TargetElementUtilBase.java:233) at com.intellij.codeInsight.TargetElementUtilBase.findTargetElement(TargetElementUtilBase.java:298) at com.intellij.codeInsight.TargetElementUtil.findTargetElement(TargetElementUtil.java:147) at com.jetbrains.cidr.lang.psi.impl.OCTargetElementUtil.findTargetElement(OCTargetElementUtil.java:47) at com.intellij.openapi.fileEditor.impl.text.TextEditorPsiDataProvider.getPsiElementIn(TextEditorPsiDataProvider.java:226) at com.intellij.openapi.fileEditor.impl.text.TextEditorPsiDataProvider.getSlowData(TextEditorPsiDataProvider.java:139) at com.intellij.openapi.fileEditor.impl.text.TextEditorPsiDataProvider.lambda$getData$0(TextEditorPsiDataProvider.java:93) at com.intellij.ide.impl.DataManagerImpl.getSlowData(DataManagerImpl.java:153) at com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$2(DataManagerImpl.java:121) at com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$4(DataManagerImpl.java:126) at com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataManagerImpl.java:77) at com.intellij.openapi.actionSystem.impl.PreCachedDataContext.getData(PreCachedDataContext.java:182) at com.intellij.openapi.actionSystem.impl.PreCachedDataContext$InjectedDataContext.getData(PreCachedDataContext.java:327) at com.intellij.openapi.actionSystem.DataKey.getData(DataKey.java:63) at org.jetbrains.android.quickDefinitions.AndroidImplementationViewSessionFactory.createSession(AndroidImplementationViewSession.kt:55) at com.intellij.codeInsight.hint.actions.ShowRelatedElementsActionBase.performForContext(ShowRelatedElementsActionBase.java:86) at com.intellij.codeInsight.hint.actions.ShowRelatedElementsActionBase.actionPerformed(ShowRelatedElementsActionBase.java:63) at com.intellij.openapi.keymap.impl.ActionProcessor.performAction(ActionProcessor.java:65) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:579) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$doPerformActionInner$10(IdeKeyEventDispatcher.java:704) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$doPerformActionInner$11(IdeKeyEventDispatcher.java:704) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:256) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.doPerformActionInner(IdeKeyEventDispatcher.java:701) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:645) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:590) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.java:473) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:462) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:227) at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:804) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:740) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:803) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:119) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92) <?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" style="@style/AppTheme.FragmentBackground.XXXX.Parent" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <include android:id="@+id/appbar" layout="@layout/layout_appbar" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="10dp"> </LinearLayout> 使用清理项目和重建项目。并与 Gradle 文件同步项目并下载最新版本的 Android Studio,然后它会建议。 有时,默认情况下,Android Studio 不会显示建议。

回答 2 投票 0

Android 布局:宽度为父级的一半

我有一个非常简单的布局,但我无法使其看起来像我想要的。它是一个带有按钮和开关的 LinearLayout。我希望它们显示一个在另一个之上,但我希望它们的宽度是......

回答 6 投票 0

如何创建圆形确定进度条?

如何创建圆形确定进度条? 像这样: 我想在 Android Studio 中制作一个圆形确定进度条。它看起来像这张照片。这是我的代码 如何创建圆形确定进度条? 像这样: 我想在Android Studio中制作一个圆形确定进度条。它看起来像这张照片。这是我的代码 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="ring" android:thicknessRatio="16" android:thickness="5dp" android:useLevel="false"> <solid android:color="#DDD"/> </shape> </item> <item> <rotate android:fromDegrees="270" android:toDegrees="270"> <shape android:shape="ring" android:thicknessRatio="16" android:thickness="5dp" android:useLevel="true"> <solid android:color="#f1908c"/> </shape> </rotate> </item> </layer-list> [圆形确定进度条应如下图所示] [1]: github 上有几个库。 您可以尝试这个、这个或这个。

回答 1 投票 0

android中的BottomSheetDialogFragment仅在纵向时为match_parent,而在横向时则不然

更新:这种行为是由于使用 Theme.Material3 而发生的,如果我将其更改为 Theme.Design 仅用于底部表,它会填充父级,但这将我们带到另一个问题,即 col...

回答 1 投票 0

如何使用约束布局设置recyclerview最小高度wrap_content但最大百分比?

我有一个recyclerview,我正在使用约束布局。现在我想使用高度作为 wrap_content 但想设置最大高度(以百分比为单位)。如何使用约束布局实现此目的? <

回答 2 投票 0

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