android 应用在更改屏幕时其项目的方向不同
android app having different orientation for its items when changing the screen
我的项目在像 10.1 这样的大屏幕上工作正常,每个项目都在它的位置,但是如果我将屏幕更改为 4 或 3,我的一些项目会消失,一些会以与设备屏幕相关的大字体显示,所以我希望它在正确的位置显示所有项目,所以如果应用程序 运行 在小屏幕上字体小,所有东西都在其正常位置,也适用于大屏幕。那么我必须对我的 xml 做些什么才能实现我的目标?
这是我的 xml :
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="false"
android:fadingEdge="none"
android:background="#BFAF80"
android:scrollbars="none"
android:scrollbarSize="0dp"
android:paddingRight="0dp"
android:scrollbarAlwaysDrawVerticalTrack="false"
android:scrollbarStyle="insideOverlay"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#BFAF80"
android:id="@+id/CreatClear"
android:orientation="vertical">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/Bwt"
android:textStyle="bold"
android:gravity="center"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="29dp"
android:hint="@string/body_weight"
android:textColor="#e53f3f3f" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/Age"
android:textStyle="bold"
android:gravity="center"
android:hint="@string/age_years"
android:layout_below="@+id/Hit"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textColor="#e53f3f3f" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/Screat"
android:gravity="center"
android:textStyle="bold"
android:hint="@string/serum_creatinine"
android:layout_below="@+id/Age"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textColor="#e53f3f3f" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Female"
android:id="@+id/Cfemale"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:textSize="@dimen/abc_text_size_medium_material"
android:layout_marginTop="28dp"
android:layout_below="@+id/Screat"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Male"
android:id="@+id/Cmale"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:textSize="@dimen/abc_text_size_medium_material"
android:layout_below="@+id/Cfemale"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="64dp"
android:layout_height="64dp"
android:id="@+id/calcH"
android:background="@drawable/ic_launcher5"
android:clickable="false"
android:gravity="center"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="64dp"
android:layout_height="64dp"
android:id="@+id/calc"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@drawable/ic_launcher"
android:clickable="true"
android:gravity="center" />
<TextView
android:layout_width="48dp"
android:layout_height="48dp"
android:text="Reset"
android:id="@+id/clearH"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:background="@drawable/ic_launcher5"
android:clickable="false"
android:gravity="center"
android:layout_alignBottom="@+id/sex"
android:layout_toLeftOf="@+id/sexa1"
android:layout_toStartOf="@+id/sexa1" />
<TextView
android:layout_width="48dp"
android:layout_height="48dp"
android:text="Reset"
android:id="@+id/clear"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:background="@drawable/ic_launcher3"
android:clickable="true"
android:gravity="center"
android:layout_alignTop="@+id/clearH"
android:layout_alignLeft="@+id/clearH"
android:layout_alignStart="@+id/clearH" />
<TextView
android:layout_width="48dp"
android:layout_height="48dp"
android:text="Menu"
android:id="@+id/menuH"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:background="@drawable/ic_launcher5"
android:clickable="false"
android:gravity="center"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/sex"
android:layout_toEndOf="@+id/sex" />
<TextView
android:layout_width="48dp"
android:layout_height="48dp"
android:text="Menu"
android:id="@+id/menu"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:background="@drawable/ic_launcher3"
android:clickable="true"
android:gravity="center"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/sex"
android:layout_toEndOf="@+id/sex" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/Hit"
android:textStyle="bold"
android:gravity="center"
android:hint="@string/height_cm"
android:layout_below="@+id/Bwt"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textColor="#e53f3f3f"/>
<TextView
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/Serum"
android:gravity="center"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:textSize="@dimen/abc_text_size_large_material"
android:lines="@integer/abc_max_action_buttons"
android:autoText="false"
android:background="@color/ripple_material_dark"
android:layout_above="@+id/blank"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/newSerum"
android:gravity="center"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:textSize="@dimen/abc_text_size_large_material"
android:layout_above="@+id/calcH"
android:layout_centerHorizontal="true"
android:visibility="visible"
android:lines="@integer/abc_max_action_buttons"
android:background="@color/ripple_material_dark" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="nIBW"
android:id="@+id/nIBW"
android:layout_below="@+id/Cmale"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="15dp"
android:layout_marginEnd="15dp"
android:layout_marginTop="34dp"
android:visibility="invisible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="nABW"
android:id="@+id/nABW"
android:layout_alignBottom="@+id/nIBW"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:visibility="invisible" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/sex"
android:layout_alignTop="@+id/Cfemale"
android:layout_toRightOf="@+id/Screat"
android:layout_toEndOf="@+id/Screat"
android:gravity="center"
android:text="Gender"
android:visibility="invisible"
android:layout_alignParentLeft="true"
android:layout_marginLeft="0dp"
android:layout_alignParentTop="true"
android:layout_marginTop="604dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/sexa1"
android:gravity="center"
android:text="Gender1"
android:visibility="invisible"
android:layout_alignTop="@+id/Cfemale"
android:layout_alignRight="@+id/nIBW"
android:layout_alignEnd="@+id/nIBW" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/sexa2"
android:gravity="center"
android:text="Gender2"
android:visibility="invisible"
android:layout_alignTop="@+id/sexa1"
android:layout_alignRight="@+id/sexa1"
android:layout_alignEnd="@+id/sexa1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/BSA"
android:gravity="center"
android:text="Body Surface Area"
android:visibility="invisible"
android:layout_below="@+id/Cmale"
android:layout_toLeftOf="@+id/nABW"
android:layout_toStartOf="@+id/nABW" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/blank"
android:layout_above="@+id/newSerum"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Creat Clear (ml/min)"
android:id="@+id/HSerum"
android:gravity="center"
android:textColor="#ffffffff"
android:textStyle="bold"
android:background="@color/background_material_dark"
android:textSize="@dimen/abc_text_size_large_material"
android:layout_alignTop="@+id/BSA"
android:layout_toRightOf="@+id/Screat"
android:layout_toEndOf="@+id/Screat"
android:visibility="invisible" />
</RelativeLayout>
</ScrollView>
在 res 文件夹中创建一些名为 values-swXXXdp 的资源目录,其中 XXX 表示最小屏幕。
在每个目录中创建一个名为 dimens.xml 的文件并为每个 swXXXdp 定义维度:
<dimen name="custom_width">40dp</dimen>
然后,要在 xml 中检索该值,请执行以下操作:例如视图的宽度:
android:layout_width="@dimen/custom_width"
我的项目在像 10.1 这样的大屏幕上工作正常,每个项目都在它的位置,但是如果我将屏幕更改为 4 或 3,我的一些项目会消失,一些会以与设备屏幕相关的大字体显示,所以我希望它在正确的位置显示所有项目,所以如果应用程序 运行 在小屏幕上字体小,所有东西都在其正常位置,也适用于大屏幕。那么我必须对我的 xml 做些什么才能实现我的目标?
这是我的 xml :
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="false"
android:fadingEdge="none"
android:background="#BFAF80"
android:scrollbars="none"
android:scrollbarSize="0dp"
android:paddingRight="0dp"
android:scrollbarAlwaysDrawVerticalTrack="false"
android:scrollbarStyle="insideOverlay"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#BFAF80"
android:id="@+id/CreatClear"
android:orientation="vertical">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/Bwt"
android:textStyle="bold"
android:gravity="center"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="29dp"
android:hint="@string/body_weight"
android:textColor="#e53f3f3f" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/Age"
android:textStyle="bold"
android:gravity="center"
android:hint="@string/age_years"
android:layout_below="@+id/Hit"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textColor="#e53f3f3f" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/Screat"
android:gravity="center"
android:textStyle="bold"
android:hint="@string/serum_creatinine"
android:layout_below="@+id/Age"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textColor="#e53f3f3f" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Female"
android:id="@+id/Cfemale"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:textSize="@dimen/abc_text_size_medium_material"
android:layout_marginTop="28dp"
android:layout_below="@+id/Screat"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Male"
android:id="@+id/Cmale"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:textSize="@dimen/abc_text_size_medium_material"
android:layout_below="@+id/Cfemale"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="64dp"
android:layout_height="64dp"
android:id="@+id/calcH"
android:background="@drawable/ic_launcher5"
android:clickable="false"
android:gravity="center"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="64dp"
android:layout_height="64dp"
android:id="@+id/calc"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@drawable/ic_launcher"
android:clickable="true"
android:gravity="center" />
<TextView
android:layout_width="48dp"
android:layout_height="48dp"
android:text="Reset"
android:id="@+id/clearH"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:background="@drawable/ic_launcher5"
android:clickable="false"
android:gravity="center"
android:layout_alignBottom="@+id/sex"
android:layout_toLeftOf="@+id/sexa1"
android:layout_toStartOf="@+id/sexa1" />
<TextView
android:layout_width="48dp"
android:layout_height="48dp"
android:text="Reset"
android:id="@+id/clear"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:background="@drawable/ic_launcher3"
android:clickable="true"
android:gravity="center"
android:layout_alignTop="@+id/clearH"
android:layout_alignLeft="@+id/clearH"
android:layout_alignStart="@+id/clearH" />
<TextView
android:layout_width="48dp"
android:layout_height="48dp"
android:text="Menu"
android:id="@+id/menuH"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:background="@drawable/ic_launcher5"
android:clickable="false"
android:gravity="center"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/sex"
android:layout_toEndOf="@+id/sex" />
<TextView
android:layout_width="48dp"
android:layout_height="48dp"
android:text="Menu"
android:id="@+id/menu"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:background="@drawable/ic_launcher3"
android:clickable="true"
android:gravity="center"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/sex"
android:layout_toEndOf="@+id/sex" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/Hit"
android:textStyle="bold"
android:gravity="center"
android:hint="@string/height_cm"
android:layout_below="@+id/Bwt"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textColor="#e53f3f3f"/>
<TextView
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/Serum"
android:gravity="center"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:textSize="@dimen/abc_text_size_large_material"
android:lines="@integer/abc_max_action_buttons"
android:autoText="false"
android:background="@color/ripple_material_dark"
android:layout_above="@+id/blank"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/newSerum"
android:gravity="center"
android:textColor="#e53f3f3f"
android:textStyle="bold"
android:textSize="@dimen/abc_text_size_large_material"
android:layout_above="@+id/calcH"
android:layout_centerHorizontal="true"
android:visibility="visible"
android:lines="@integer/abc_max_action_buttons"
android:background="@color/ripple_material_dark" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="nIBW"
android:id="@+id/nIBW"
android:layout_below="@+id/Cmale"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="15dp"
android:layout_marginEnd="15dp"
android:layout_marginTop="34dp"
android:visibility="invisible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="nABW"
android:id="@+id/nABW"
android:layout_alignBottom="@+id/nIBW"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:visibility="invisible" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/sex"
android:layout_alignTop="@+id/Cfemale"
android:layout_toRightOf="@+id/Screat"
android:layout_toEndOf="@+id/Screat"
android:gravity="center"
android:text="Gender"
android:visibility="invisible"
android:layout_alignParentLeft="true"
android:layout_marginLeft="0dp"
android:layout_alignParentTop="true"
android:layout_marginTop="604dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/sexa1"
android:gravity="center"
android:text="Gender1"
android:visibility="invisible"
android:layout_alignTop="@+id/Cfemale"
android:layout_alignRight="@+id/nIBW"
android:layout_alignEnd="@+id/nIBW" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/sexa2"
android:gravity="center"
android:text="Gender2"
android:visibility="invisible"
android:layout_alignTop="@+id/sexa1"
android:layout_alignRight="@+id/sexa1"
android:layout_alignEnd="@+id/sexa1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/BSA"
android:gravity="center"
android:text="Body Surface Area"
android:visibility="invisible"
android:layout_below="@+id/Cmale"
android:layout_toLeftOf="@+id/nABW"
android:layout_toStartOf="@+id/nABW" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/blank"
android:layout_above="@+id/newSerum"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Creat Clear (ml/min)"
android:id="@+id/HSerum"
android:gravity="center"
android:textColor="#ffffffff"
android:textStyle="bold"
android:background="@color/background_material_dark"
android:textSize="@dimen/abc_text_size_large_material"
android:layout_alignTop="@+id/BSA"
android:layout_toRightOf="@+id/Screat"
android:layout_toEndOf="@+id/Screat"
android:visibility="invisible" />
</RelativeLayout>
</ScrollView>
在 res 文件夹中创建一些名为 values-swXXXdp 的资源目录,其中 XXX 表示最小屏幕。
在每个目录中创建一个名为 dimens.xml 的文件并为每个 swXXXdp 定义维度:
<dimen name="custom_width">40dp</dimen>
然后,要在 xml 中检索该值,请执行以下操作:例如视图的宽度:
android:layout_width="@dimen/custom_width"