gpt4 book ai didi

具有不同屏幕尺寸的Android绝对布局

转载 作者:行者123 更新时间:2023-11-30 02:35:13 24 4
gpt4 key购买 nike

我正在使用 Absolute Layout 将屏幕分成 4 种,中间有圆圈,就像这样 enter image description here

它在小屏幕上工作正常,但在大屏幕上却不行。如何在不同的屏幕宽度下做到这一点?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<AbsoluteLayout
android:id="@+id/AbsoluteLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:l="true"
android:layout_centerInParent="true"
android:background="#fcf2cf"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.organizer2.MainActivity" >

<Button
android:id="@+id/Button1"
android:layout_width="148dp"
android:layout_height="180dp"
android:layout_weight="1"
android:layout_x="0dp"
android:layout_y="0dp"
android:background="#219baa"
android:text="Button" />

<Button
android:id="@+id/Button2"
android:layout_width="148dp"
android:layout_height="180dp"
android:layout_weight="1"
android:layout_x="148dp"
android:layout_y="0dp"
android:background="#ef820b"
android:text="Button" />

<Button
android:id="@+id/Button3"
android:layout_width="148dp"
android:layout_height="180dp"
android:layout_weight="1"
android:layout_x="0dp"
android:layout_y="180dp"
android:background="#e3c800"
android:text="Button" />

<Button
android:id="@+id/Button4"
android:layout_width="148dp"
android:layout_height="180dp"
android:layout_weight="1"
android:layout_x="148dp"
android:layout_y="180dp"
android:background="#36bc89"
android:text="Button" />

<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_x="4dp"
android:layout_y="132dp"
android:src="@drawable/circle" />

</AbsoluteLayout>

</RelativeLayout>

最佳答案

AbsolueLayouts 是一个很大的禁忌,因为它们不会对不同尺寸的设备做任何事情。尝试使用 LinearLayouts 的组合来实现此 View .通过将所有按钮设置在线性布局内并为每个按钮赋予 1 的权重,我们告诉它们全部增长,这不会发生在绝对布局内。 linearlayouts 本身也是一个 linearlayouts 并且也被赋予了权重,所以它们会随着有额外的屏幕空间占用而增长(嵌套的 LinearLayouts 对性能来说不是很好但现在不要担心,因为你似乎仍然学习基础知识,您的应用程序的用户不会注意到任何延迟)。 :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linear"
android:layout_width="match_parent"
android:background="#fcf2cf"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical" >

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=1
android:orientation="hoizontal" >

<Button
android:id="@+id/Button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#219baa"
android:text="Button" />

<Button
android:id="@+id/Button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ef820b"
android:text="Button" />

</LinearLayout>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=1
android:orientation="hoizontal" >

<Button
android:id="@+id/Button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#e3c800"
android:text="Button" />

<Button
android:id="@+id/Button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#36bc89"
android:text="Button" />

</LinearLayout>
</LinearLayout>

<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:src="@drawable/circle" />

</AbsoluteLayout>

</RelativeLayout>

关于具有不同屏幕尺寸的Android绝对布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26683094/

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