布局定义用户界面的可视结构,例如活动,片段或应用程序窗口小部件的UI。
在 Android ConstraintLayout 中创建可变数量 n 的网格 (n × n)
我想在ConstraintLayout中创建一个方形网格。我的第一个想法是创建一个水平链,给出一些边距值并设置为所有单视图大小属性 width = match_constraint,
如何让编辑文本接受格式输入 4digitnumber-4dignumber-4dignumber-4dignumber 代码 text.addTextChangedListener(new TextWatcher() { int 长度 = 0; 字符串字符串; @
RelatvieLayout 的 centerInParent 不能与 WindowInsetPadding 配合使用
我将rl_container的centerInParent选项设置为true,它有一个父RelativeLayout。 但即使 rl_container 的宽度和高度是 match_parent,它也不会填满屏幕...
我想知道在我的布局中使用 dp 是否能让我的应用程序响应所有屏幕? 如果不是,是什么让我的应用程序具有响应能力? 为了使我的应用程序具有响应能力,我一直在使用约束布局,但它......
模糊约束布局 api 在 25 和 31 之间 - android
模糊背景未正确应用。 **应用模糊效果(wholeWrapper)** 私人乐趣 applyBlurEffect(view: View) { view.viewTreeObserver.addOnPreDrawListener( 对象:
我对 Android 开发还比较陌生,并且很难将某个界面组合在一起。我浏览了很多类似的问题,但没有一个给我我正在寻找的答案......
是否可以纯粹使用 Jetpack Compose 禁用操作栏?
在我正在开发的应用程序中,我想删除themes.xml 文件,因为我计划仅使用Jetpack Compose 的MaterialTheme。我删除了它以及 AndroidManifest.xml 中对它的引用...
我在Android中有以下seekBar,有5个离散值: 我在Android中有以下seekBar,有5个离散值: <SeekBar android:id="@+id/seekBar_Sweetness" style="@style/Widget.AppCompat.SeekBar.Discrete" android:layout_width="@dimen/_100sdp" android:layout_height="@dimen/_14sdp" android:max="4" android:maxHeight="4dip" android:minHeight="4dip" android:progress="2" android:progressDrawable="@drawable/seek_bar_ruler_rate" android:thumb="@drawable/seek_bar_slider_beer" app:layout_constraintBottom_toTopOf="@+id/textView_numberOfRatings" app:layout_constraintEnd_toEndOf="@+id/textView_ratingLabel" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="@+id/textView_ratingLabel" app:layout_constraintTop_toTopOf="@+id/barChartRatings" app:layout_constraintVertical_bias="0.25" /> 看起来像这样 现在我的问题是是否可以将滑块(以编程方式)定位在离散值之间的任何连续值上?我想从我的 Java 代码中设置滑块并将其修复在该位置,因此它不应该是用户应该与之交互的东西,它而是信息源(基于离散值的百分比)。 提醒:关于这个问题有什么想法或建议吗? 您可以使用 GitHub 上的库来扩展功能 漂亮的滑块
我正在布局中使用 app:itemBackground 设置导航项背景: 我正在布局中使用 app:itemBackground 设置导航项背景: <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:itemBackground="@drawable/nav_selector_background" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer"/> 这里是nav_selector_background.xml <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorNavItemSelected"> <item android:id="@android:id/mask"> <color android:color="#000"/> <!-- any color will do --> </item> <item android:right="8dp"> <selector> <item android:state_pressed="true" android:drawable="@drawable/nav_item_background_round"/> <item android:state_focused="true" android:drawable="@drawable/nav_item_background_round"/> <item android:state_checked="true" android:drawable="@drawable/nav_item_background_round"/> <item android:state_activated="true" android:drawable="@drawable/nav_item_background_round"/> <item android:state_active="true" android:drawable="@drawable/nav_item_background_round" /> <item android:state_hovered="true" android:drawable="@drawable/nav_item_background_round" /> <item android:state_drag_hovered="true" android:drawable="@drawable/nav_item_background_round" /> <item android:drawable="@android:color/transparent"/> </selector> </item> 还有nav_item_background_round: <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <solid android:color="@color/colorNavItemSelected"/> <corners android:bottomRightRadius="32dp" android:topRightRadius="32dp"/> </shape> </item> </layer-list> 问题是当我按下该项目时,整个背景都会突出显示,如屏幕截图所示。我只想突出显示红色部分。 如果有人有兴趣编译和运行该应用程序,我已将示例上传到 Github。 通过 MaterialComponents 库中的 NavigationView,您可以使用: app:itemShapeAppearanceOverlay属性为每个项目定义自定义形状 app:itemShapeFillColor属性定义用于填充形状的颜色 类似: <com.google.android.material.navigation.NavigationView app:itemShapeFillColor="@color/selector_menu" app:itemShapeAppearanceOverlay="@style/ShapeAppearanceOverlay.Nav" android:theme="@style/ThemeOverlay.NavigationView" ../> 选择器类似于: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:alpha="0.50" android:color="@color/primaryColor" android:state_pressed="true"/> <item android:alpha="0.12" android:color="@color/primaryColor" android:state_activated="true"/> <item android:alpha="0.12" android:color="@color/primaryColor" android:state_checked="true"/> <item android:color="@android:color/transparent"/> </selector> 形状定义为: <style name="ShapeAppearanceOverlay.Nav" parent=""> <item name="cornerFamily">rounded</item> <item name="cornerSizeTopRight">50%</item> <item name="cornerSizeBottomRight">50%</item> <item name="cornerSizeBottomLeft">0dp</item> <item name="cornerSizeTopLeft">0dp</item> </style> 还可以使用 android:theme 覆盖波纹使用的颜色。 <style name="ThemeOverlay.NavigationView" parent=""> <item name="android:colorControlHighlight">@android:color/transparent</item> </style> 我不确定你想要什么,但我认为这会解决你的问题。 nav_item_background_round.xml <?xml version="1.0" encoding="UTF-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:color="#f816a463" tools:targetApi="lollipop"> <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <solid android:color="#f816a463" /> </shape> </item> </ripple> 我也有同样的问题。我解决了它 首先 - 添加自定义样式到我的 navigationView app:theme="@style/NavigationDrawerStyle" <com.google.android.material.navigation.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fadingEdge="none" android:fitsSystemWindows="true" android:overScrollMode="never" app:itemIconPadding="12dp" app:itemBackground="@drawable/drawer_background_selector" app:headerLayout="@layout/nav_header_main" app:itemIconTint="@drawable/drawer_item_icon_color" app:itemTextColor="@drawable/drawer_item_text_color" app:theme="@style/NavigationDrawerStyle" app:menu="@menu/activity_main_drawer" > 第二 - 然后在我的 styles.xml 中创建了一个自定义抽屉样式 NavigationDrawerStyle 然后 将 colorControlHighlight 设置为透明,这为我删除了矩形形状。 <style name="NavigationDrawerStyle" parent="ThemeOverlay.AppCompat.navTheme"> <item name="android:textSize">14sp</item> <item name="android:fontFamily">@font/robotomedium</item> <item name="android:colorControlHighlight">@android:color/transparent</item><!--Here Removes Rectangle--> </style>
`android:windowSoftInputMode="adjustResize"` 不适用于 `ConstraintLayout`
我正在使用 Android Studio 在 Java 中创建 Android 应用程序,并使用 ConstraintLayout 来定位布局中的视图。问题是当我打开键盘时,它隐藏了
Android:如何设置最大宽度以匹配父级的宽度与layout_width =“wrap_content”?
下面的 TextView 的宽度需要匹配其内容宽度(在 ConstraintLayout 中),但是当内容包含长文本时,它当前水平延伸超出了 p 的宽度...
Android 底部导航栏重叠 Spinner。设置微调器下拉高度/边距
我在从事 Android Honeycomb 项目时偶然发现了一个有趣的问题。如下图所示,在对话框中展开 Spinner 时,底部的导航栏
错误:java.lang.RuntimeException:无法启动活动:java.lang.IndexOutOfBoundsException:索引 1 超出长度 1 的范围
我正在使用改造从 api 获取产品列表,并使用回收器视图将其显示在活动中。现在,当我单击特定项目时,它应该打开其详细信息页面,其中有...
CoordinatorLayout 中的 ViewPager(用于粘性标题)会导致滚动中断
测试应用程序在此处演示问题:https://github.com/jstubing/ViewPagerTest 我使用 CoordinatorLayout/AppBarLayout 组合在可滚动页面中实现粘性标题。就在...
我需要设计类似破折号的Editext,以便在andriod kotlin中输入Refrral代码
我想要用破折号编辑文本的xml设计来输入推荐代码,下面我提到了输出。 这是图像 我尝试过为该破折号创建一个形状,我尝试过不同的方法,但不是
如何创建一个带有模糊背景的模态BottomSheet,而不是默认的灰色半透明
我正在使用模态底板,如何将默认的灰色半透明背景更改为模糊背景,就像我们在 iOS 中看到的那样
如何修复超时错误 - 预览加载时间过长。 Android Studio Iguana 中的预览布局 | 2023年2月1日金丝雀6号?
在 Android Studio 中 Iguana | 2023.2.1 Canary 6 ,当我使用此版本的 Android studio 时,它无法预览任何布局,而我使用旧版本(例如 *Android Studio Giraffe | )时,它无法预览任何布局。 2022.3.1 补丁 2 *...
如何解决有关使用 Android 数据绑定公开内部表示的 SpotBugs 警告?
我正在使用数据绑定开发一个 Android 项目,我在 SpotBugs 违规报告中遇到了一条警告,但我不知道如何解决。这是设置: 我正在开发一个使用数据绑定的 Android 项目,我在 SpotBugs 违规报告中遇到了一条警告,但我不确定如何解决。设置如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:id="@+id/tv_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Hello World!" android:textColor="@android:color/black" android:textSize="20sp" /> </LinearLayout> package com.example; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import com.example.databinding.ActivityMainBinding; public class MainActivity extends AppCompatActivity { private ActivityMainBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Inflate the layout using the generated binding class binding = ActivityMainBinding.inflate(getLayoutInflater()); // Set the root view as the content view of the activity setContentView(binding.getRoot()); } } 问题: 我从 SpotBugs 收到以下警告: com.example.databinding.ActivityMainBinding.getRoot() may expose internal representation by returning ActivityMainBinding.rootView 问题: 在 Android 中使用数据绑定时,我需要担心此警告吗? 我使用 getRoot() 来设置内容视图是否正确且安全? 如果这不是实际问题,我该如何解决或抑制此 SpotBugs 警告? 我应该遵循哪些最佳实践来避免此类警告? 我尝试过的: 确保为数据绑定正确设置布局文件。 使用 ActivityMainBinding.inflate(getLayoutInflater()) 来膨胀布局并设置内容视图。 任何见解或建议将不胜感激! 从 Spotbugs 报告中删除上述警告。在您的 Spotbugs-exclude-filter.xml 中添加以下代码 <Match> <Source name="~.*/databinding/.*"/> </Match>
使用 XML Android,我需要实现一个布局,其中四个按钮放置在一行中,所有四个按钮的权重相等,但是当我增加字体大小时,我需要以 2*2 的形式显示它们(...
尽管有正确的依赖关系,FlexboxLayout 仍无法被识别
我已经为我的项目导入了使用 Flexbox 布局所需的依赖项。它显示一个错误,它不起作用并且无法在我的项目中找到依赖项。 这是我的代码