android-layout 相关问题

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

Android ScrollView 占据整个设备空间(垂直)

我的片段(FrameLayout)(w:match_parent,h:fill_parent)有两个包含布局: ScrollView(w:match_parent,h:fill_parent) LinearLayout(w:match_parent,h:wrap_content) 我不明白,w...

回答 3 投票 0

如何通过半透明背景停止点击事件?

当用户单击某个按钮时,我试图在另一个视图上设置半透明视图。同时我希望我的背景视图不可点击。 所以基本上我正在设置...

回答 4 投票 0

如何在 Jetpack Compose 中将 TextUnit 转换为 Dp?

我知道它们之间的区别。我想根据 lineHeight 计算文本高度。 lineHeight 的值在 TextUnit 中,所以我想将其转换为 Dp。

回答 6 投票 0

如何制作我想要的图像中的 XML 布局?

考虑我的 semi-circle.xml 文件: 考虑我的semi-circle.xml文件: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/semicircle"/> <size android:width="10dp" android:height="5dp"/> <corners android:bottomLeftRadius="20dp" android:bottomRightRadius="20dp"/> </shape> 此外,对于我有的按钮the_two_buttons.xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/semicircle"/> <!-- Button background color --> <corners android:radius="25dp"/> <!-- Corner radius --> <padding android:left="8dp" android:top="8dp" android:right="8dp" android:bottom="8dp"/> </shape> 这是我写的XML代码: <?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" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/semi_circle"> <ImageView android:id="@+id/profile_avatar" android:layout_width="10dp" android:layout_height="5dp" android:layout_marginTop="50dp" android:src="@drawable/semi_circle" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="@string/intellij_clicker" android:textSize="30.sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.07" /> </RelativeLayout> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:background="@drawable/the_two_buttons" android:paddingStart="16dp" android:paddingEnd="16dp" android:text="Button 1" android:textColor="@android:color/white" android:textColorHighlight="#B1D18A" android:textColorHint="#B1D18A" android:textColorLink="#B1D18A" android:textCursorDrawable="#B1D18A" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </LinearLayout> <LinearLayout android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical"> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 2" android:background="@drawable/the_two_buttons" android:textColor="@android:color/white" android:paddingStart="16dp" android:paddingEnd="16dp" android:layout_marginTop="16dp" app:layout_constraintTop_toBottomOf="@id/button1" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"/> </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout> 这就是我所期望的: 但场景有所不同: 这是怎么回事?由于我是 XML android 布局的新手,所以我渴望学习。谢谢。我对何时使用 RelativeLayout 和 LinearLayout 感到困惑。任何形式的建议将不胜感激。 使用ConstraintLayout,对于复杂的UI设计来说,它是一种比RelativeLayout和LinearLayout更灵活的布局。 <!-- half_circle.xml --> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:bottomLeftRadius="1000dp" android:bottomRightRadius="1000dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> <solid android:color="#A3D178" /> </shape> 屏幕用户界面 <?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" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <RelativeLayout android:id="@+id/header" android:layout_width="0dp" android:layout_height="200dp" android:background="@drawable/semi_circle" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHeight_percent="0.3" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintWidth_percent="1"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="@string/intellij_clicker" android:textColor="@android:color/black" android:textSize="30sp" android:textStyle="bold" /> </RelativeLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:backgroundTint="#A3D178" android:paddingStart="16dp" android:paddingEnd="16dp" android:text="@string/start" android:textColor="@android:color/black" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/header" app:layout_constraintWidth_percent="0.5" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:backgroundTint="#A3D178" android:paddingStart="16dp" android:paddingEnd="16dp" android:text="@string/settings" android:textColor="@android:color/black" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/button1" app:layout_constraintWidth_percent="0.5" /> </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout>

回答 1 投票 0

Android Studio - XML 布局设计器拆分视图更改方向

我不确定发生了什么,但拆分 XML 设计视图现在是水平显示而不是垂直显示。 (设计视图位于底部,代码视图位于顶部。)我在 UI 上找不到任何地方可以...

回答 2 投票 0

Android - 如何在具有两种或多种颜色的矢量绘图上设置色调

我喜欢矢量绘图,事实上我可以使用简单的色调属性更改每个布局中的色调,如下所示: 我喜欢矢量绘图,事实上我可以使用简单的色调属性更改每个布局中的色调,如下所示: <ImageView android:id="@+id/image_payment_cash" android:layout_width="wrap_content" android:layout_height="wrap_content" android:tint="@color/color1" android:src="@drawable/ic_cash" /> 但我想知道是否有一种方法可以为同一向量(对于多色向量)指定两种或多种色调? 所以可以这样设置: <ImageView android:id="@+id/image_payment_cash" android:layout_width="wrap_content" android:layout_height="wrap_content" android:tint1="@color/color1" android:tint2 = "@color/color2" android:src="@drawable/ic_cash" /> 不,默认情况下,无法在 XML 中为 Vector Drawable 的多种不同颜色着色。 您可以在 Java/Kotlin 中以编程方式将可绘制文件膨胀为 VectorDrawable 类,然后遍历每一层,然后单独更改颜色。 通过使用相同的代码,您可以创建一个具有“tint1”和“tint2”属性的自定义 ImageView。 如果您使用 API 21 以下的 Vector Drawables,请注意 Android 框架使用不同的类来反向移植某些 VD 元素。 porterduff 模式无法帮助在图像中着色两种不同的颜色?

回答 2 投票 0

RecyclerView LinearLayout 管理器在横向模式下始终返回 -1 - findLastCompletelyVisibleItemPosition()

我使用 findLastCompletelyVisibleItemPosition() 来确定 RecyclerView 中的最后一个可见项目。 这是我如何设置布局的代码片段: mRecyclerView.setHasFixedSize(...

回答 5 投票 0

滚动时卡片视图底部出现空格

我有一个带有 Cardview 的 Recyclerview,里面有另一个像 Netflix 这样的 Recyclerview。所以我无法垂直和水平滚动。在内部回收器视图中,有一些卡片视图带有 b...

回答 1 投票 0

为什么我们不像在 XML 中那样在 Jetpack compose 中使用 ConstraintLayout?

我一直在审查代码,我意识到我们不像在 XML 中那样经常使用 ConstraintLayout。 在 XML 中,由于性能问题,我们被鼓励使用 ConstraintLayout,而不是那些......

回答 1 投票 0

不同屏幕尺寸和分辨率的Android应用程序UI问题

这是我第一次为 Android 开发,我几乎完成了应用程序,但当我开始测试它时,我遇到了一些与 UI 相关的问题。我在使用 Galaxy s6 Edge 对其进行编程时测试了该应用程序...

回答 2 投票 0

无法更改底部导航图标色调

我试图对底部导航实施图标色调,但由于某种原因似乎不起作用, 我添加了硬编码的#color代码,并将其添加到colors.xml中,并为此创建了一个选择器

回答 1 投票 0

LinearLayout 中的 TextView 被另一个 TextView 推到外面

美好的一天!我正在尝试实现一种特定的布局。我希望有人能给我一个关于如何正确做这件事的提示。 所以,在我的布局中,我在 LinearLayout 中有两个带有

回答 5 投票 0

在TableLayout中不工作时查看wrap_content

我将带有单元格的表格行动态添加到表格中。 行和单元格已添加,但单元格中的文本不会换行。 部分代码如下: 布局如下: 我将带有单元格的表格行动态添加到表格中。 行和单元格已添加,但单元格中的文本不会换行。 部分代码如下: 布局如下: <TableLayout android:id="@+id/TableTheOpenQuestion" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="12dp" android:layout_marginTop="1dp" android:layout_marginRight="12dp" android:backgroundTint="@color/backgroundColor" android:visibility="gone" android:stretchColumns="*"> </TableLayout> 而我使用上述布局对应的Java文件如下: tableLayout = findViewById(R.id.TableTheOpenQuestion); TableRow tr = new TableRow(dContext); TableRow.LayoutParams params = new TableRow.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT, 1); params.setMargins(12, 0, 12, 0); tr.setLayoutParams(params); TableRow.LayoutParams cellParams = new TableRow.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT); TextView tv = new TextView(dContext); tv.setLayoutParams(cellParams); tv.setPadding(5, 10, 10, 10); tv.setText("A very long text.A very long text.A very long text.A very long text.A very long text.A very long text.A very long text.A very long text."); tr.addView(tv); // // Add the row to the table // tableLayout.addView(tr); 我一直在搜索很多类似的问题,但似乎没有什么对我有用。非常感谢所有帮助! 对于TextView,TableRow参数应该如下,而不是你写的 TableRow.LayoutParams params = new TableRow.LayoutParams( 0, // Width 0 to allow wrapping TableRow.LayoutParams.WRAP_CONTENT, // Wrap content height 1.0f // Equal weight for each cell ); 然后您可以将 params 分配给您的 TextView TextView textView = new TextView(context); textView.setText(text); textView.setLayoutParams(params);

回答 1 投票 0

在TableLayout中不工作时查看wrap_content

我将带有单元格的表格行动态添加到表格中。 行和单元格已添加,但单元格中的文本不会换行。 部分代码如下: 布局如下: 我将带有单元格的表格行动态添加到表格中。 行和单元格已添加,但单元格中的文本不会换行。 部分代码如下: 布局如下: <TableLayout android:id="@+id/TableTheOpenQuestion" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="12dp" android:layout_marginTop="1dp" android:layout_marginRight="12dp" android:backgroundTint="@color/backgroundColor" android:visibility="gone" android:stretchColumns="*"> </TableLayout> 而我使用上述布局对应的Java文件如下: tableLayout = findViewById(R.id.TableTheOpenQuestion); TableRow tr = new TableRow(dContext); TableRow.LayoutParams params = new TableRow.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT, 1); params.setMargins(12, 0, 12, 0); tr.setLayoutParams(params); TableRow.LayoutParams cellParams = new TableRow.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT); TextView tv = new TextView(dContext); tv.setLayoutParams(cellParams); tv.setPadding(5, 10, 10, 10); tv.setText("A very long text.A very long text.A very long text.A very long text.A very long text.A very long text.A very long text.A very long text."); tr.addView(tv); // // Add the row to the table // tableLayout.addView(tr); 我一直在搜索很多类似的问题,但似乎没有什么对我有用。非常感谢所有帮助! 对于TextView,TableRow参数应该如下,而不是你写的 TableRow.LayoutParams params = new TableRow.LayoutParams( 0, // Width 0 to allow wrapping TableRow.LayoutParams.WRAP_CONTENT, // Wrap content height 1.0f // Equal weight for each cell ); 然后您可以将 params 分配给您的 TextView TextView textView = new TextView(context); textView.setText(text); textView.setLayoutParams(params);

回答 1 投票 0

如何正确地将背景或大图片添加到Android Studio for Views?

例如,我想将 .jpg 4k 图像设置为背景,或者我想将其他分辨率 .jpg/.png 添加到屏幕上的某个位置(例如从视图中消失的字符)。怎样...

回答 1 投票 0

材质按钮切换组不可见

我正在尝试在现有应用程序中使用材质切换组。 我发现它仅在应用程序使用 Material 组件主题时才有效(可见)。 由于现有的应用程序是...

回答 2 投票 0

Listview 为最后一项上的每个项目添加填充

列表视图包含团队,团队包含玩家。 我有一个由回收适配器填充的列表视图,但我无法找到它底部最后一个填充的位置? 永远...

回答 2 投票 0

ViewPager 在 Coordinator 布局中的高度超出了可用范围

我有一个CoordinatorLayout,在AppBarLayout 中有一个Toolbar 和一个TabLayout。此外,我在 CoordinatorLayout 内部但在 ViewPager 外部有一个 ViewPager。 问题是

回答 5 投票 0

Android:如何从 HorizontalScrollView 中删除空白

如何删除右边的空白? 当我有 5 张或更多照片时,空白就会消失。 有了两张照片,我就得到了空白。 在 Galaxy Nexus 模拟器和我的三星上尝试过......

回答 1 投票 0

在android studio中绘制部分圆作为进度条

总结: 使用图1作为参考。 我需要将灰色部分保留在绿色部分下方,以便当绿色减少时,灰色变得可见。但我也想要未覆盖的部分(只是灰色而不是......

回答 5 投票 0

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