我正在开发一个Android应用程序,目前正在开发不同活动的图形界面。
在一项活动中我有一个背景,这是一个代表许多货架的图像,我想把物品放在那些货架上。但这意味着我必须知道每个架子的确切位置,以便将我的小部件正确地“放在架子上”。
实际上我使用了一个垂直的LinearLayout,它包含所有的架子,每个架子都表示为一个水平的LinearLayout。然后我使用不同布局之间的边距放置小部件(图像),距离以dp为单位。现在我在三星上测试了它看起来像我想要的。
我的问题是:以这种方式定义,图形界面是否会与不同的屏幕具有相同的外观?或者它会根据设备而改变?
以下是代码的一部分:
<?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="@drawable/final_shelves"
android:orientation="vertical" >
<!-- First shelf -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginLeft="70dp"
android:layout_marginRight="65dp"
android:layout_marginTop="@dimen/first_shelf_margin_top"
android:orientation="horizontal" >
<ImageView
android:id="@+id/card_11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="1"
android:src="@drawable/card"
android:clickable="true"/>
<ImageView
android:id="@+id/card_12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="1"
android:src="@drawable/card"
android:clickable="true" />
<ImageView
android:id="@+id/card_12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="1"
android:src="@drawable/card"
android:clickable="true" />
</LinearLayout>
<!-- Second shelf -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginLeft="70dp"
android:layout_marginRight="70dp"
android:layout_marginTop="@dimen/second_shelf_margin_top"
android:orientation="horizontal" >
<ImageView
android:id="@+id/card_21"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="1"
android:src="@drawable/card"
android:clickable="true" />
<ImageView
android:id="@+id/card_22"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="1"
android:src="@drawable/card"
android:clickable="true" />
<ImageView
android:id="@+id/card_12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="1"
android:src="@drawable/card"
android:clickable="true" />
</LinearLayout>