您好我已经使用了两天了。
基本上我想实现这个设计(请参见红色环绕的那个):
我希望我的xml布局是动态的,无论移动设备的屏幕尺寸如何,它都会扩展或缩小(简而言之,它将保留设计)。
不幸的是,我现在很难做到这一点。这是我的代码的结果:
http://tinypic.com/r/29uo8d4/8
这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<!-- start - Main Buttons for Main Pages -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<!-- start - For Glomp Image -->
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#585f6b"
android:gravity="center"
android:paddingLeft="10sp"
android:paddingRight="10sp" >
<ImageView
android:layout_width="170sp"
android:layout_height="wrap_content"
android:layout_marginLeft="20sp"
android:layout_marginRight="20sp"
android:src="@drawable/glomp_logo_for_login" />
</RelativeLayout>
<!-- end - For Glomp Image -->
<!-- start - For 4 Menu Buttons -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="0sp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imgV_main_menu_points"
android:layout_width="80sp"
android:layout_height="80sp"
android:layout_weight="1"
android:src="@drawable/glomped" />
<ImageView
android:id="@+id/imgV_main_menu_glomped"
android:layout_width="80sp"
android:layout_height="80sp"
android:layout_weight="1"
android:src="@drawable/friends" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imgV_main_menu_points"
android:layout_width="80sp"
android:layout_height="80sp"
android:layout_weight="1"
android:src="@drawable/menu" />
<ImageView
android:id="@+id/imgV_main_menu_points"
android:layout_width="80sp"
android:layout_height="80sp"
android:layout_weight="1"
android:src="@drawable/points" />
</LinearLayout>
</LinearLayout>
<!-- end - For 4 Menu Buttons -->
</LinearLayout>
<!-- end - Main Buttons for Main Pages -->
</LinearLayout>
</ScrollView>
我真的很感谢你的帮助。
非常感谢
答案 0 :(得分:0)
对于动态布局,您的图片视图需要将宽度设置为android:layout_width="wrap_content"
,而不是像您一样以单位为单位。
您需要不同大小的图片才能支持不同的屏幕尺寸和分辨率,并将它们放在res/drawable
中的特定文件夹中 -
MyProject/res/
drawable-xhdpi/
awesomeimage.png
drawable-hdpi/
awesomeimage.png
drawable-mdpi/
awesomeimage.png
drawable-ldpi/
awesomeimage.png
此外,您可能有不同的rs / layout文件夹。
答案 1 :(得分:0)
我希望它对您有所帮助,因为它只是与您的视图一样创建。我将为所有设备工作
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF00FF" >
<!-- this is glomp -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#FFFF00"
android:orientation="vertical" >
<!-- this is glomp G -->
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#31B404" />
<!-- this is menu-->
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#2A120A" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#FFFFFF"
android:orientation="vertical" >
<!-- this is friends-->
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#00FF00" />
<!-- this is point-->
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#000000" />
</LinearLayout>
</LinearLayout>
</LinearLayout>