如何在android中为所有屏幕设置设计?

时间:2014-06-30 11:27:44

标签: android performance android-layout android-linearlayout android-relativelayout

我为我的项目开发了一个应用程序。在那我不知道如何在所有屏幕上设置布局。如果我更改另一个屏幕,默认屏幕也会更改。这是我的代码。那么如何在所有屏幕中设置布局。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="@drawable/custom_bg">

<RelativeLayout
    android:id="@+id/relativemail"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="5dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="5dp" >

 <LinearLayout
     android:id="@+id/imageid"
     android:layout_width="wrap_content"
     android:layout_height="180dp"
     android:layout_marginLeft="55dp"
     android:layout_marginRight="55dp"
     android:layout_marginTop="20dp"
     android:background="@drawable/image_bg"
     android:gravity="center" >

        <ImageView
            android:id="@+id/photo"
            android:layout_width="140dp"
            android:layout_height="140dp"        
            android:background="@drawable/upload_photo" />
</LinearLayout>

<LinearLayout
    android:id="@+id/buttonid"
    android:layout_width="match_parent"
    android:layout_height="65dp"
    android:layout_below="@id/imageid"
    android:layout_marginLeft="12dp"
    android:layout_marginRight="12dp"
    android:layout_marginTop="15dp"
    android:background="@drawable/galary_bg"
    android:gravity="center"
    android:weightSum="2" >

        <RelativeLayout
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:gravity="center" >

                        <Button
                            android:id="@+id/camera"
                            android:layout_width="120dp"
                            android:layout_height="50dp"
                            android:background="@drawable/cameraxml" />
        </RelativeLayout>

        <RelativeLayout
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:gravity="center" >
                        <Button
                            android:id="@+id/galary"
                            android:layout_width="120dp"
                            android:layout_height="50dp"        
                            android:background="@drawable/galeryxml" />  
        </RelativeLayout>  

</LinearLayout>

 <LinearLayout
     android:id="@+id/saveid"
     android:layout_width="wrap_content"
     android:layout_height="65dp"
     android:layout_below="@+id/buttonid"
     android:layout_marginLeft="40dp"
     android:layout_marginRight="40dp"
     android:layout_marginTop="15dp"
     android:background="@drawable/save_bg"
     android:gravity="center" >

     <Button
        android:id="@+id/save"
        android:layout_width="120dp"
        android:layout_height="50dp"
        android:background="@drawable/savexml"/>
     </LinearLayout>

 <RelativeLayout
     android:layout_width="wrap_content"
     android:layout_height="40dp"
     android:gravity="center"
     android:layout_alignParentBottom="true"
     android:layout_below="@+id/saveid"
     android:layout_marginBottom="15dp"
     android:layout_marginLeft="84dp" >

     <ToggleButton
         android:id="@+id/toggleButton1"
         android:layout_width="150dp"
         android:layout_height="40dp"

         android:background="@drawable/chapxml" />
 </RelativeLayout>

</RelativeLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

您必须使用dpsp,而不是使用pxmatch_parentwrap_content和其他硬值。这些是由屏幕宽度,高度和dpi改变的动态值。

答案 1 :(得分:0)

您可以使用片段执行此操作,只更改您需要在各项活动中更改的特定视图,但更简单的选项是re-use layout using

使用所有这些视图创建布局,并使用<merge>标记将其括起来。然后为不同的活动创建不同的布局文件(xml),并使用链接中所述的<include>