有人能给我举个例子,说明Android中的按钮和文本视图是根据;支持多个屏幕;?

有人能给我举个例子,说明Android中的按钮和文本视图是根据;支持多个屏幕;?,android,java-me,Android,Java Me,我读了报纸 ? 但我不知道如何应用它,有人能给我举个按钮和文本视图的例子,说明它如何适合不同的设备吗?它没有你想象的那么复杂。首先请记住,您的基本布局总是为mdpi设计的,适合中等密度(约160 dpi)的正常屏幕大小 因此,在设计布局时,重要的一点是在定义布局时不要使用px作为单元。相反,始终使用dp(与密度无关的像素)作为单位,因为它们会自动缩放到当前密度的正确数量px 直到现在,您只有一个文件(例如myLayout.xml)用于所有不同的布局大小(小、普通、大和xlarge)。如果您认为您

我读了报纸 ?
但我不知道如何应用它,有人能给我举个按钮和文本视图的例子,说明它如何适合不同的设备吗?

它没有你想象的那么复杂。首先请记住,您的基本布局总是为
mdpi
设计的,适合中等密度(约160 dpi)的正常屏幕大小

因此,在设计布局时,重要的一点是在定义布局时不要使用px作为单元。相反,始终使用
dp
(与密度无关的像素)作为单位,因为它们会自动缩放到当前密度的正确数量
px

直到现在,您只有一个文件(例如myLayout.xml)用于所有不同的布局大小(小、普通、大和xlarge)。如果您认为您的布局在带有xlarge显示屏的设备(如平板电脑)上应该有所不同,那么您只需在与
layout
相同的级别上创建另一个名为
layout xlarge
的文件夹和另一个名为
myLayout.xml
的布局文件。现在,您可以对此文件进行更改,以使布局在具有xlarge显示器的设备上看起来有所不同。也许您需要一个更大的文本框来重新排列 按钮和文本框


如你所见,这并不难。只需使用dp作为维度的单位,Android将为您完成其余的工作

支持多个屏幕的最简单方法是将资源放在不同的密度文件夹中,并将布局放在不同的布局大小文件夹中

例如,具有以下文件夹结构:

AppRoot/
  res/
    drawable/
    drawable-hdpi/
  layout/
  layout-large/
您可以根据位图的密度和大小将其放置在不同的可绘制目录中。这会为不同密度的屏幕整理出不同的位图

对于根据屏幕大小的不同布局,在布局和布局大目录中放置不同的布局,以支持屏幕的显示方式

让我们举一个简单的例子,一个小设备的简单列表填充屏幕,与一个大屏幕相比,您可能希望您的列表在屏幕的40%中,信息位于此屏幕的右侧:

layout/main\u layout.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    >
    <ListView
        android:id="@+id/main_list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
    />
</LinearLayout>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:weightSum="1.0"
    >
    <LinearLayout
        android:orientation="horizontal"
        android:layout_weight="0.4"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        >
        <ListView
            android:id="@+id/main_list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
        />
    </LinearLayout>
    <LinearLayout
        android:id="@+id/details_large"
        android:layout_weight="0.6"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        >
        <include layout="@layout/detail_information" />
    </LinearLayout>
现在,您的应用程序只需使用“main_layout”,设备将根据屏幕大小选择一个,从而为您提供多屏幕支持

重要的一点是,这些布局是相同的命名文件
main_layout.xml
,android从正确的文件夹中选择一个。按钮等的位图也是如此;将同一个命名位图放在多个目录中,android会根据屏幕密度选择要使用的位图


我没有在这些示例中添加文本视图和按钮,因为它们只是布局元素,您可以根据需要进行填充。

我可以在xml文件中使用dp单元,还是应该将对象设置为按钮和文本视图,然后设置边距?不,您可以在xml文件中使用它们。e、 g.android:layout_marginTop=“10dp”