在RelativeLayout中开发320dp和360dp的布局?

时间:2012-06-19 23:53:48

标签: android android-layout relativelayout

我在这里发布how-can-i-create-layout-for-both-320dp-and-360dp。在那个问题中,我举了一个关于两个按钮的简单例子。但是现在我有320dp的布局,我无法像Motorola Atrix那样为360dp创建布局。因为给出的解决方案与LinearLayout相关,我的布局现在是相对的。如何避免或填补右边的空白区域?

layout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/bg_tapfast" >

    <ImageView 
        android:id="@+id/img_logomaior"
        android:layout_width="@dimen/default_width_img_logomaior"
        android:layout_height="@dimen/default_height_img_logomaior"
        android:src="@drawable/img_logomaior"
        android:layout_marginTop="@dimen/margin_top_img_logomaior"
        android:layout_marginLeft="@dimen/margin_left_img_logomaior"
        android:layout_alignParentLeft="true" />    

    <ImageView 
        android:id="@+id/img_mode_tapcolor"
        android:layout_width="@dimen/default_width_mode_tapcolor"
        android:layout_height="@dimen/default_height_mode_tapcolor"
        android:src="@drawable/mode_tapcolor"
        android:layout_marginTop="@dimen/margin_top_mode_tapcolor"
        android:layout_marginLeft="@dimen/margin_left_mode_tapcolor" />     

    <ImageView 
        android:id="@+id/img_mode_tapname"
        android:layout_width="@dimen/default_width_mode_tapname"
        android:layout_height="@dimen/default_height_mode_tapname"
        android:src="@drawable/mode_tapname"
        android:layout_marginTop="@dimen/margin_top_mode_tapname"
        android:layout_marginLeft="@dimen/margin_left_mode_tapname" />       

     <ImageView 
        android:id="@+id/img_mode_tapgroup"
        android:layout_width="@dimen/default_width_mode_tapgroup"
        android:layout_height="@dimen/default_height_mode_tapgroup"
        android:src="@drawable/mode_tapgroup"
        android:layout_marginTop="@dimen/margin_top_mode_tapgroup"
        android:layout_marginLeft="@dimen/margin_left_mode_tapgroup" />     

     <ImageView 
        android:id="@+id/img_tap_2be"
        android:layout_width="@dimen/default_width_tap_2be"
        android:layout_height="@dimen/default_width_tap_2be"
        android:src="@drawable/tap_2be"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="@dimen/margin_left_tap_2be" />

     <ImageView 
        android:id="@+id/img_bt_howtoplay"
        android:layout_width="@dimen/default_width_bt_howtoplay"
        android:layout_height="@dimen/default_height_bt_howtoplay"      
        android:src="@drawable/bt_howtoplay"        
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true" />

</RelativeLayout>

Motorola Atrix

Motorola Atrix

三星Galaxy SII

Samsung Galaxy SII

2 个答案:

答案 0 :(得分:0)

您必须为我发布您的代码才能确定。

但是你应该能够将这样的属性添加到R​​elativeLayout:

android:gravity="center_horizontal"

编辑:我认为如果你将3个ImageView放在他们自己的布局中,并将顶级父级的重力设置为中心水平,它将使所有的ImageView保持在相同的位置相对彼此相对,但它也会将它们掠过一些,这样无论你在哪个设备上运行,它们都会居中。

类似的东西:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal"
    android:background="@drawable/bg_tapfast" >


    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
    <ImageView 
        android:id="@+id/img_logomaior"
        android:layout_width="@dimen/default_width_img_logomaior"
        android:layout_height="@dimen/default_height_img_logomaior"
        android:src="@drawable/img_logomaior"
        android:layout_marginTop="@dimen/margin_top_img_logomaior"
        android:layout_marginLeft="@dimen/margin_left_img_logomaior"
        android:layout_alignParentLeft="true" />    

    <ImageView 
        android:id="@+id/img_mode_tapcolor"
        android:layout_width="@dimen/default_width_mode_tapcolor"
        android:layout_height="@dimen/default_height_mode_tapcolor"
        android:src="@drawable/mode_tapcolor"
        android:layout_marginTop="@dimen/margin_top_mode_tapcolor"
        android:layout_marginLeft="@dimen/margin_left_mode_tapcolor" />     

    <ImageView 
        android:id="@+id/img_mode_tapname"
        android:layout_width="@dimen/default_width_mode_tapname"
        android:layout_height="@dimen/default_height_mode_tapname"
        android:src="@drawable/mode_tapname"
        android:layout_marginTop="@dimen/margin_top_mode_tapname"
        android:layout_marginLeft="@dimen/margin_left_mode_tapname" />       

     <ImageView 
        android:id="@+id/img_mode_tapgroup"
        android:layout_width="@dimen/default_width_mode_tapgroup"
        android:layout_height="@dimen/default_height_mode_tapgroup"
        android:src="@drawable/mode_tapgroup"
        android:layout_marginTop="@dimen/margin_top_mode_tapgroup"
        android:layout_marginLeft="@dimen/margin_left_mode_tapgroup" />     

     <ImageView 
        android:id="@+id/img_tap_2be"
        android:layout_width="@dimen/default_width_tap_2be"
        android:layout_height="@dimen/default_width_tap_2be"
        android:src="@drawable/tap_2be"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="@dimen/margin_left_tap_2be" />

     <ImageView 
        android:id="@+id/img_bt_howtoplay"
        android:layout_width="@dimen/default_width_bt_howtoplay"
        android:layout_height="@dimen/default_height_bt_howtoplay"      
        android:src="@drawable/bt_howtoplay"        
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true" />


     </RelativeLayout>

</RelativeLayout>

答案 1 :(得分:0)