如何创建支持多屏幕的android应用程序布局



这是我的xml文件。我是android开发的新手。我需要知道如何修改这种布局以适应多种屏幕尺寸的手机?我已经创建了布局正常,布局大,布局xlarge的目录。但它不能正常工作。我对文本视图使用sp,对其他小部件使用dp。这也是行不通的。请帮我修改这个xml代码。

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@drawable/background"
tools:context="com.respectcab.app.MainActivity"
tools:openDrawer="start"
tools:ignore="MissingDefaultResource">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/design_default_color_primary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/AlertDialog.AppCompat.Light" />

<android.support.constraint.ConstraintLayout
android:id="@+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
tools:ignore="ExtraText"><![CDATA[
tools:context=".MainActivity">
]]>
<Button
android:id="@+id/driver"
android:layout_width="145dp"
android:layout_height="58dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:layout_toEndOf="@+id/logout"
android:layout_toRightOf="@+id/logout"
android:text="Start Trip"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toEndOf="@+id/logout"
app:layout_constraintTop_toBottomOf="@+id/cus_mobile"
app:layout_constraintVertical_bias="1.0"
tools:ignore="MissingConstraints" />
<Button
android:id="@+id/logout"
android:layout_width="145dp"
android:layout_height="58dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginBottom="8dp"
android:text="Logout"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cus_mobile"
app:layout_constraintVertical_bias="1.0"
tools:ignore="MissingConstraints" />
<TextView
android:id="@+id/driver_id_main"
android:layout_width="91sp"
android:layout_height="55sp"
android:layout_below="@+id/driver_mobile"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="33sp"
android:layout_marginLeft="33sp"
android:layout_marginTop="231sp"
android:layout_marginBottom="461sp"
android:text="TextView"
android:visibility="invisible"
app:layout_constraintBottom_toTopOf="@+id/cus_email"
app:layout_constraintEnd_toStartOf="@+id/driver_total_earn"
app:layout_constraintHorizontal_bias="0.44"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/driver_mobile"
app:layout_constraintVertical_bias="0.765"
tools:ignore="MissingConstraints" />
<TextView
android:id="@+id/driver_total_earn"
android:layout_width="65sp"
android:layout_height="44sp"
android:layout_below="@+id/driver_mobile"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="65sp"
android:layout_marginLeft="65sp"
android:layout_marginBottom="461sp"
android:layout_toEndOf="@+id/driver_id_main"
android:layout_toRightOf="@+id/driver_id_main"
android:text="TextView"
android:visibility="invisible"
app:layout_constraintBottom_toTopOf="@+id/cus_email"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="MissingConstraints" />
<EditText
android:id="@+id/cus_mobile"
android:layout_width="398dp"
android:layout_height="53dp"
android:layout_below="@+id/cus_email"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:hint="Customer Mobile No"
android:text=""
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cus_email"
tools:ignore="MissingConstraints" />
<EditText
android:id="@+id/cus_email"
android:layout_width="404dp"
android:layout_height="69dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="108dp"
android:hint="Customer Email"
android:text=""
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/spinner_package"
tools:ignore="MissingConstraints" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="128dp"
android:layout_height="91dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="115dp"
android:layout_marginLeft="115dp"
android:layout_marginEnd="130dp"
android:layout_marginRight="130dp"
android:src="@mipmap/ic_user_profile"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.407"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView1"
tools:srcCompat="@tools:sample/avatars" />
<TextView
android:id="@+id/driver_name"
android:layout_width="312sp"
android:layout_height="50sp"
android:layout_below="@+id/imageView3"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:gravity="center_horizontal"
android:text="TextView"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView3"
tools:ignore="MissingConstraints" />
<TextView
android:id="@+id/driver_mobile"
android:layout_width="177sp"
android:layout_height="33sp"
android:layout_below="@+id/driver_name"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="124sp"
android:layout_marginLeft="124sp"
android:layout_marginTop="12sp"
android:layout_marginEnd="147sp"
android:layout_marginRight="147sp"
android:gravity="center_horizontal"
android:text="TextView"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.492"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/driver_name" />
<Switch
android:id="@+id/switch1"
android:layout_width="43dp"
android:layout_height="22dp"
android:layout_below="@+id/driver_mobile"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:scaleX="2.5"
android:scaleY="2.5"
android:textOff="Turn On"
android:textOn="Turn Off"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.472"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/driver_mobile"
tools:ignore="MissingConstraints" />
<Button
android:id="@+id/button1"
android:layout_width="68dp"
android:layout_height="42dp"
android:layout_alignTop="@+id/textView1"
android:layout_centerHorizontal="true"
android:text="Click Here to Enable Disable GPS location service!"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.958"
app:layout_constraintStart_toEndOf="@+id/textView1"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints" />
<TextView
android:id="@+id/textView1"
android:layout_width="248sp"
android:layout_height="37sp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="location service Stauts Shows Here"
android:textAppearance="?android:attr/textAppearanceLarge"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="326dp"
tools:layout_editor_absoluteY="142dp"
android:visibility="invisible"/>
<!--<android.support.v7.widget.RecyclerView-->
<!--android:id="@+id/vehicle_list_name"-->
<!--android:layout_width="636dp"-->
<!--android:layout_height="218dp"-->
<!--android:layout_alignParentStart="true"-->
<!--android:layout_alignParentLeft="true"-->
<!--android:layout_alignParentEnd="true"-->
<!--android:layout_alignParentRight="true"-->
<!--android:layout_alignParentBottom="true"-->
<!--tools:ignore="MissingConstraints"-->
<!--tools:layout_editor_absoluteX="-35dp"-->
<!--tools:layout_editor_absoluteY="26dp"-->
<!--tools:listitem="@layout/recycler_view_item" />-->
<Spinner
android:id="@+id/spinner_package"
android:layout_width="307dp"
android:layout_height="13dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.636"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/switch1" />
</android.support.constraint.ConstraintLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:id="@+id/nav_view"
app:headerLayout="@layout/nav_header_main2"
app:menu="@menu/drawer_menu">
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>

使用此库进行布局,以便所有大小的屏幕都可以覆盖一个布局:(-elementation'com.intuit.sdp:sdp-android:1.0.6'

链路

最新更新