gpt4 book ai didi

java - 布局无法正确缩放

转载 作者:太空宇宙 更新时间:2023-11-04 13:28:33 27 4
gpt4 key购买 nike

我正在显示 7 个图像按钮,在编辑 xml 时,预览看起来很完美,但是当我在模拟器中启动应用程序时,它似乎没有缩放并且正在切断图像。

它应该看起来像这样:

-0-0-
0-0-0
-0-0-

其中“0”是按钮。我将其设置为一种整体相对布局和三种线性布局。首先是中间位置,然后顶部和底部从中间对齐。

这是我的 XML 文件

<RelativeLayout 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:orientation="horizontal"
android:id="@+id/activity_color_wheel">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:id="@+id/middle_left">

<ImageButton
android:id="@+id/dode1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dodecagon1"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground" />

<ImageButton
android:id="@+id/dode2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dodecagon2"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground"
/>

<ImageButton
android:id="@+id/dode3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dodecagon3"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground" />
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/middle_left"
android:layout_centerInParent="true"
android:id="@+id/bottom">

<ImageButton
android:id="@+id/dode4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dodecagon4"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground"/>

<ImageButton
android:id="@+id/dode5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dodecagon5"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground"/>

</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/middle_left"
android:layout_centerInParent="true"
android:id="@+id/top">

<ImageButton
android:id="@+id/dode6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dodecagon6"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground"/>

<ImageButton
android:id="@+id/dode7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dodecagon7"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground"/>
</LinearLayout>


<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center_horizontal"
android:textSize="25dp" />
</RelativeLayout>

基本上,顶部和底部布局在底部附近被切断。我认为我缺少某种缩放属性,但我不确定。

最佳答案

所有 View 的宽度和高度都是“换行内容”。
在这种情况下,如果总图像宽度/高度大于屏幕的宽度/高度,它将被截断。
你应该做的是:
1) 将 LinearLayouts 宽度设置为“匹配父级”。
2)根据需要设置 subview 的权重。
3) 将子元素宽度设置为 0dp 以获得更好的性能。

示例代码 fragment :

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:id="@+id/middle_left">

<ImageButton
android:id="@+id/dode1"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:src="@drawable/testImage"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground" />

<ImageButton
android:layout_weight="1"
android:id="@+id/dode2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:src="@drawable/testImage"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground"
/>

<ImageButton
android:layout_weight="1"
android:id="@+id/dode3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:src="@drawable/testImage"
android:onClick="selected"
android:background="?android:attr/selectableItemBackground" />
</LinearLayout>

祝你好运。

关于java - 布局无法正确缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32417581/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com