xml bellow根据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上,字段被更正位于中心。问题在哪里?
答案 0 :(得分:0)
您可以包含不同的xml:
<include layout="@layout/include_file" />
不同的xml必须位于具有相同名称的自己的API文件夹中:
值-V11
值-V14
答案 1 :(得分:0)
你应该使用weight属性在每个大小或API中运行一个xml。
试试这个link