1

下面的 xml 会根据 API 生成两个不同的布局屏幕。这种布局在具有 API 17 的设备中,布局看起来不错,输入文本集中在屏幕上。

但是在 API 10 上运行的相同布局看起来很奇怪,左上角的字段......

xml代码片段如下:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#005500">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dip"
        android:layout_marginRight="15dip"
        android:layout_marginTop="200dip"
        android:orientation="vertical" >

        <EditText 
          android:id="@+id/et_nome_login"
          android:layout_width="match_parent"
          android:layout_height="40dip"
          android:paddingRight="15dip"
          android:paddingLeft="15dip"
          android:inputType="text"
          android:nextFocusDown="@+id/et_senha_login"
          android:background="@drawable/bg_login_name"/>

        <EditText 
          android:id="@+id/et_senha_login"
          android:layout_width="match_parent"
          android:layout_height="40dip"
          android:paddingRight="15dip"
          android:paddingLeft="15dip"
          android:inputType="textPassword"
          android:background="@drawable/bg_login_senha"/>

        <ImageButton 
            android:id="@+id/ib_login"
            android:layout_width="match_parent"
            android:layout_height="50dip"
            android:layout_marginTop="20dip"
            android:background="@drawable/btn_entrar"/>

    </LinearLayout>


    <FrameLayout
            android:id="@+id/progress_login"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#AA000000"
            android:clickable="true"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:visibility="gone" >

            <ProgressBar
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:layout_gravity="center" />
    </FrameLayout>

</FrameLayout>   

在 API 10 上,视图放置在左上角,而在 API 17 上,字段被更正后放置在中心。问题出在哪里?

4

2 回答 2

0

您可以包含不同的 xml:

<include layout="@layout/include_file" />

不同的 xml 必须在自己的同名 API 文件夹中:

价值观-v11

  • 包含文件.xml
  • ...

价值观-v14

  • 包含文件.xml
  • ...
于 2013-07-08T13:48:15.573 回答
0

您应该使用 weight 属性在每种尺寸或 API 中运行一个 xml。

试试这个链接

于 2013-07-08T13:54:32.293 回答