如何使用兼容所有屏幕尺寸的多个按钮创建相对布局?

时间:2013-04-24 05:33:31

标签: android android-layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lyt_parent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/plain_bg"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/lyt_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <include
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        layout="@layout/header" />
</LinearLayout>

<LinearLayout
    android:id="@+id/lyt_body"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/lyt_Buttons"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ImageView
            android:id="@+id/imgfrontlogo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/imgcenterlogo"
            android:layout_alignParentTop="true"
            android:layout_marginTop="61dp"
             android:background="@drawable/front_logo"
             />

        <ImageView
            android:id="@+id/imgcenterlogo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/btnPersonaltrainer"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="29dp"
            android:background="@drawable/center_logo" />

        <Button
            android:id="@+id/btnMyProfile"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="21dp"
            android:layout_marginLeft="32dp"
            android:background="@drawable/myprofile" />

        <Button
            android:id="@+id/btnTaracker"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/imgcenterlogo"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="49dp"
            android:background="@drawable/track" />

        <Button
            android:id="@+id/btnPersonaltrainer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/btnMyProfile"
            android:layout_alignLeft="@+id/btnAllExercises"
            android:background="@drawable/personaltrainer" />

        <Button
            android:id="@+id/btnRandomworkouts"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/btnPersonaltrainer"
            android:layout_alignParentLeft="true"
            android:background="@drawable/randomworkout" />

        <Button
            android:id="@+id/btnAllworkouts"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/btnAllExercises"
            android:layout_alignBottom="@+id/btnAllExercises"
            android:layout_alignLeft="@+id/btnMyProfile"
            android:background="@drawable/allworkouts" />

        <Button
            android:id="@+id/btnAllExercises"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/btnTaracker"
            android:layout_alignParentRight="true"
            android:layout_marginRight="40dp"
            android:background="@drawable/allexercises" />

            </RelativeLayout>
            </LinearLayout>

            </LinearLayout>`

我需要为所有屏幕尺寸创建兼容的布局,为xlarge尺寸创建separte布局(800x1280,720x1280等)。在这里我不能上传图片由于声誉,需要在布局的中心放置一个主按钮,在中间按钮的左侧和右侧弯曲放置3个按钮。请任何人都可以帮助我创建兼容所有屏幕尺寸的布局使用dp或固定点。

2 个答案:

答案 0 :(得分:0)

您可以使用android:layout_weight属性。它允许您使用百分比来定义按钮。

对于EX:

  <LinearLayout
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:weightSum="1.0" >

    <Button
        android:text="left" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight=".50" /> 

    <Button
        android:text="right" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight=".50" />

</LinearLayout>

现在您已经为按钮指定了百分比值,因此它们将在任何尺寸的屏幕上显示为整个屏幕的百分比值。

这可以在LinearLayout RelativeLayout {{1}}检查第二个答案link

答案 1 :(得分:0)

如问题所述,您希望按钮在中心按钮的左侧和右侧弯曲放置,您可以查看链接以了解如何完成此操作:https://github.com/daCapricorn/ArcMenu 这是一个开源项目,我提到创建一个类似路径的菜单。