Android使用Textviews的布局问题

时间:2016-12-24 16:13:00

标签: android xml android-layout

我正在开发一个Android应用程序,它会在屏幕上显示一些细节。 我只是在相对布局上使用textviews。屏幕和模拟器上的布局似乎很好。但是当我在设备上运行应用程序时,它会变得混乱,并且一些文本视图会相互重叠。

我的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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/activity_home"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="aaa.app_zero.HomeActivity">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@mipmap/ic_launcher"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        android:id="@+id/displaypic" />

    <TextView
        android:text="Your Name Comes Here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/displaypic"
        android:layout_toEndOf="@+id/displaypic"
        android:layout_marginStart="11dp"
        android:id="@+id/name"
        android:textSize="24sp" />

    <TextView
        android:text="Register Number : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/displaypic"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/registertext"
        android:textSize="18sp" />

   <TextView

        android:text="Register No. here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/registernumber"
        android:textSize="18sp"
        android:layout_alignBaseline="@+id/registertext"
        android:layout_alignBottom="@+id/registertext"
        android:layout_toEndOf="@+id/registertext" />

    <TextView
        android:text="Office Name : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/registertext"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/officetext"
        android:textSize="18sp" />

    <TextView
        android:text="Office Name hereOffice Name hereOffice Name hereOffice         Name hereOffice Name here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/officename"
        android:textSize="18sp"
        android:layout_alignBaseline="@+id/officetext"
        android:layout_alignBottom="@+id/officetext"
        android:layout_toEndOf="@+id/officetext" />

    <TextView
        android:text="Course Name : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/officename"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/coursetext"
        android:textSize="18sp" />

    <TextView
        android:text="Course Name HereCourse Name HereCourse Name HereCourse      Name HereCourse Name Here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/coursetext"
        android:layout_toEndOf="@+id/coursetext"
        android:layout_alignBaseline="@+id/coursetext"
        android:id="@+id/coursename"
        android:textSize="18sp" />

    <TextView
        android:text="Father's Name : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/coursename"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/fathertext"
        android:textSize="18sp" />

    <TextView
        android:text="Father's Name here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/fathername"
        android:layout_alignBottom="@+id/fathertext"
        android:layout_toEndOf="@+id/fathertext"
        android:textSize="18sp" />

    <TextView
        android:text="Date of Birth : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/fathername"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/dobtext"
        android:textSize="18sp" />

    <TextView
        android:text="DOB here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/dob"
        android:textSize="18sp"
        android:layout_alignBaseline="@+id/dobtext"
        android:layout_alignBottom="@+id/dobtext"
        android:layout_toEndOf="@+id/officetext" />

    <TextView
        android:text="Sex : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/dobtext"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/sextext"
        android:textSize="18sp" />

    <TextView
        android:text="Sex here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/sex"
        android:textSize="18sp"
        android:layout_alignBaseline="@+id/sextext"
        android:layout_alignBottom="@+id/sextext"
        android:layout_toEndOf="@+id/sextext" />

    <TextView
        android:text="Blood Group : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/sextext"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/bloodgrouptext"
        android:textSize="18sp" />

    <TextView
        android:text="Blood group here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bloodgroup"
        android:layout_alignBottom="@+id/bloodgrouptext"
        android:layout_toEndOf="@+id/dobtext"
        android:textSize="18sp" />

    <TextView
        android:text="Address : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/bloodgrouptext"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/addresstext"
        android:textSize="18sp" />

    <TextView
        android:text="Address here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/addresstext"
        android:layout_toEndOf="@+id/addresstext"
        android:layout_alignBaseline="@+id/addresstext"
        android:id="@+id/address"
        android:textSize="18sp" />

    <TextView
        android:text="Email : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/address"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/emailtext"
        android:textSize="18sp" />

    <TextView
        android:text="example@example.com"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/email"
        android:layout_alignBaseline="@+id/emailtext"
        android:layout_alignBottom="@+id/emailtext"
        android:layout_alignStart="@+id/name"
        android:textSize="18sp" />

    <TextView
        android:text="Pincode : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/email"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/pincodetext"
        android:textSize="18sp" />

    <TextView
        android:text="Pincode Here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/pincode"
        android:layout_alignBottom="@+id/pincodetext"
        android:layout_toEndOf="@+id/addresstext"
        android:textSize="18sp" />

    <TextView
        android:text="Validity : "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/pincodetext"
        android:layout_alignParentStart="true"
        android:layout_marginTop="6dp"
        android:id="@+id/validitytext"
        android:textSize="18sp" />

    <TextView
        android:text="Validity Here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/validity"
        android:layout_alignBottom="@+id/validitytext"
        android:layout_alignBaseline="@+id/validitytext"
        android:layout_toEndOf="@+id/validitytext"
        android:textSize="18sp" />
</RelativeLayout>

此 预期的布局和模拟器中显示的是

screenshot1

但是设备上的布局是这样的

screenshot2

对此事的任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:0)

使用linearlayout帮助

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/photoandname"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"
    android:paddingLeft="6dp"
    android:paddingTop="6dp">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        app:srcCompat="@mipmap/ic_launcher"
        android:id="@+id/displaypic"
        android:layout_weight="1" />

    <TextView
        android:text="Your Name Comes Here"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="11dp"
        android:id="@+id/name"
        android:textSize="24sp"
        android:layout_weight="1"
        android:layout_gravity="bottom" />
</LinearLayout>

<ScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/photoandname"
    android:layout_alignParentStart="true"
    android:paddingLeft="6dp"
    android:paddingBottom="6dp">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/photoandname"
        android:layout_alignParentStart="true"
        android:id="@+id/data"
        android:paddingTop="6dp"
        android:paddingLeft="6dp">

        <TextView
            android:text="Register Number : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/registernumber"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Office Name : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/officename"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Course Name : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/coursename"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Father's Name : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/fathername"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Date of Birth : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/dob"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Sex : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/sex"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Blood Group : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/bloodgroup"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Address : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/address"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Email : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/email"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Pincode : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/pincode"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

        <TextView
            android:text="Validity : "
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/validity"
            android:textSize="18sp"
            android:paddingBottom="6dp" />

    </LinearLayout>
</ScrollView>

答案 1 :(得分:0)

尝试此布局:如果需要,请自行指定边距或填充,使用此布局将在所有设备中相同。

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 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/activity_home"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="aaa.app_zero.HomeActivity">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/displaypic"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:srcCompat="@mipmap/ic_launcher" />

            <TextView
                android:id="@+id/name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="11dp"
                android:text="Your Name Comes Here"
                android:textSize="24sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/registertext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/displaypic"
                android:layout_marginTop="6dp"
                android:text="Register Number : "
                android:textSize="18sp" />

            <TextView

                android:id="@+id/registernumber"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Register No. here"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/officetext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Office Name : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/officename"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Office Name hereOffice Name hereOffice Name hereOffice         Name hereOffice Name here"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/coursetext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Course Name : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/coursename"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Course Name HereCourse Name HereCourse Name HereCourse      Name HereCourse Name Here"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/fathertext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Father's Name : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/fathername"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/dobtext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Date of Birth : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/dob"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="DOB here"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/sextext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Sex : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/sex"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Sex here"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/bloodgrouptext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Blood Group : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/bloodgroup"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Blood group here"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/addresstext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Address : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/address"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Address here"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/emailtext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Email : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/email"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="example@example.com"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/pincodetext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Pincode : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/pincode"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Pincode Here"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="bottom"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/validitytext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="6dp"
                android:text="Validity : "
                android:textSize="18sp" />

            <TextView
                android:id="@+id/validity"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Validity Here"
                android:textSize="18sp" />
        </LinearLayout>
    </LinearLayout>