Android开发:构建适合不同类型智能手机的应用程序

Android开发:构建适合不同类型智能手机的应用程序,android,xml,Android,Xml,我的应用程序由屏幕上的关闭按钮和一些文本组成。这真的很简单,因为这就是它所需要的 但当我在不同的虚拟手机上测试我的应用程序时,它看起来就不同了。现在,由于我没有使用图像,我假设只要我的图像在可绘制文件夹中,并且不是全部都在不同的可绘制文件夹中,它们就不会成为问题 但是如何编写XML以适应所有智能手机屏幕呢 XML: 我使用dp作为测量单位,但我知道这是唯一可以使用的单位,所以我知道这不像设计一个有pxs、ems和%s可用的网站 如果您能提供任何帮助或链接,我们将不胜感激。 谢谢 丹 另外,

我的应用程序由屏幕上的关闭按钮和一些文本组成。这真的很简单,因为这就是它所需要的

但当我在不同的虚拟手机上测试我的应用程序时,它看起来就不同了。现在,由于我没有使用图像,我假设只要我的图像在可绘制文件夹中,并且不是全部都在不同的可绘制文件夹中,它们就不会成为问题

但是如何编写XML以适应所有智能手机屏幕呢

XML:


我使用dp作为测量单位,但我知道这是唯一可以使用的单位,所以我知道这不像设计一个有pxs、ems和%s可用的网站

如果您能提供任何帮助或链接,我们将不胜感激。 谢谢 丹


另外,如果我想在应用程序加载时在8个按钮下方添加更多按钮,我也在寻找向下滚动的方法。有什么想法吗?

如果您还没有这样做,请访问Android开发者官方网站。它有一篇关于支持不同屏幕的文章:

如果要滚动按钮,还可以使用包含按钮的线性布局环绕。大概是这样的:

<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" />

<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" />