我使用绝对布局将屏幕划分为4种,中心的圆圈就像这样
小屏幕尺寸工作正常,但屏幕尺寸不大。 如何使用不同的屏幕宽度进行此操作?
<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>
答案 0 :(得分:1)
AbsolueLayouts是一个很大的禁忌,因为他们不会对不同尺寸的设备做任何事情。尝试使用LinearLayouts的组合来实现此视图。通过将所有按钮设置为linearlayout内部并为每个按钮赋予1的权重,我们告诉他们所有增长,这不会发生在绝对布局中。线性布局本身也处于线性布局中,并且还具有权重,因此它们会随着额外的屏幕空间占用而增长(嵌套的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>