我的应用程序包含屏幕上带有一些文字的按钮。它非常简单,因为它只需要它。
但是当我在不同的虚拟手机中测试我的应用时,它看起来不同。现在,由于我没有使用图像,我假设只要我的图像在可绘制文件夹中,并且不是所有图像都放在不同的drawable- * *文件夹中,它们就不会成为问题。
但是如何编写XML以适应所有SMARTPHONE屏幕。
XML:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:padding="@dimen/padding_medium"
android:text="@string/welsh_libs"
android:textColor="#FF0066"
android:textSize="30dip"
android:textStyle="bold"
tools:context=".WelshLibraries" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#6088A1"
android:textColor="#FFFFFF"
android:text="@string/news" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#50C0E9"
android:textColor="#000000"
android:text="@string/find_lib" />
<Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#6088A1"
android:textColor="#FFFFFF"
android:text="@string/free_res" />
<Button
android:id="@+id/button5"
android:layout_width="285dp"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#50C0E9"
android:text="@string/ask_lib"
android:textColor="#000000" />
<Button
android:id="@+id/button6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#6088A1"
android:text="@string/find_book"
android:textColor="#FFFFFF" />
<Button
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#50C0E9"
android:text="@string/register"
android:textColor="#000000" />
<Button
android:id="@+id/button8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#6088A1"
android:text="@string/login"
android:textColor="#FFFFFF" />
</LinearLayout>
<ImageView
android:id="@+id/image1"
android:layout_width="190dp"
android:layout_height="0dip"
android:layout_marginBottom="5dp"
android:layout_marginLeft="70dp"
android:layout_weight="1"
android:contentDescription="@string/desc"
android:src="@drawable/waglogo"
android:visibility="visible" />
我正在使用dp作为测量单位,但我知道这是唯一可以使用的单位,所以我知道它不像设计一个有pxs,ems和%s的网站。
非常感谢人们提供的任何帮助或链接。 谢谢, 丹
P.S。如果我想在应用程序加载时在8下方添加更多按钮,我也在寻找向下滚动的方法。有什么想法吗?
答案 0 :(得分:1)
如果您还没有这样做,请参阅官方Android开发者网站。它有一篇关于支持不同屏幕的文章:http://developer.android.com/guide/practices/screens_support.html。
如果要滚动按钮,还会包含包含按钮的Linear ScrollView {{3}}。像这样:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:padding="@dimen/padding_medium"
android:text="@string/welsh_libs"
android:textColor="#FF0066"
android:textSize="30dip"
android:textStyle="bold"
tools:context=".WelshLibraries" />
</LinearLayout>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#6088A1"
android:textColor="#FFFFFF"
android:text="@string/news" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#50C0E9"
android:textColor="#000000"
android:text="@string/find_lib" />
<Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#6088A1"
android:textColor="#FFFFFF"
android:text="@string/free_res" />
<Button
android:id="@+id/button5"
android:layout_width="285dp"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#50C0E9"
android:text="@string/ask_lib"
android:textColor="#000000" />
<Button
android:id="@+id/button6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#6088A1"
android:text="@string/find_book"
android:textColor="#FFFFFF" />
<Button
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#50C0E9"
android:text="@string/register"
android:textColor="#000000" />
<Button
android:id="@+id/button8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginLeft="18dp"
android:background="#6088A1"
android:text="@string/login"
android:textColor="#FFFFFF" />
</LinearLayout>
</ScrollView>
<ImageView
android:id="@+id/image1"
android:layout_width="190dp"
android:layout_height="0dip"
android:layout_marginBottom="5dp"
android:layout_marginLeft="70dp"
android:layout_weight="1"
android:contentDescription="@string/desc"
android:src="@drawable/waglogo"
android:visibility="visible" />