android

时间:2015-11-19 12:12:51

标签: android android-layout

我是Android的新手,刚刚启动了android。我在Layouts中遇到了一些问题。 我希望布局如下。

   1(TextView)     2(TextView)
   3(EditView)     4(EditView)

这是我尝试过的。前1& 2表示TextView和3 & 4代表EditView。我们只能通过相对布局实现这一目标。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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"
    android:background="@drawable/amicare"

    tools:context="com.example.ambulancetrack.MainActivity" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/reg_no"

        android:id="@+id/tvRegNo"
        android:textColor="#21F6D0"
        android:layout_toLeftOf="@+id/tvPhoneNo"
        />

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="RAHAT Phone No."
        android:textColor="#21F6D0"

        android:layout_alignParentRight="true"
        android:id="@+id/tvPhoneNo"

        />
   <EditText 
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_below="@+id/tvRegNo"

       android:background="#1E4F56"
       android:textColor="#FFFFFF"
       android:id="@+id/evRegNo"
       />

     <EditText 
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/evRegNo"

       android:background="#1E4F56"
       android:textColor="#FFFFFF"
       android:id="@+id/evPhoneNo"
       />

</RelativeLayout>

请帮助!!!先谢谢

7 个答案:

答案 0 :(得分:3)

Ckeck这个变种(在你的情况下):

<强>更新

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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"
android:background="@drawable/amicare"

tools:context="com.example.ambulancetrack.MainActivity" >

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/reg_no"

    android:id="@+id/tvRegNo"
    android:textColor="#21F6D0"
    android:layout_toLeftOf="@+id/tvPhoneNo"
    />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="RAHAT Phone No."
    android:textColor="#21F6D0"

    android:layout_alignParentRight="true"
    android:id="@+id/tvPhoneNo"

    />
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvRegNo"

    android:background="#1E4F56"
    android:textColor="#FFFFFF"
    android:id="@+id/evRegNo"
    android:layout_toLeftOf="@+id/evPhoneNo"
    android:layout_toStartOf="@+id/evPhoneNo" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/tvPhoneNo"
    android:layout_below="@+id/tvPhoneNo"
    android:background="#1E4F56"
    android:textColor="#FFFFFF"
    android:id="@+id/evPhoneNo"
    />

答案 1 :(得分:1)

您也可以使用LinearLayout使用android:layout_weight对此进行归档,例如:

 <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

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

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.5"
                android:text="Text View 1" />

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.5"
                android:text="Text View 2" />
        </LinearLayout>

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

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.5"
                android:text="Text View 3" />

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.5"
                android:text="Text View 4" />
        </LinearLayout>
    </LinearLayout>

答案 2 :(得分:1)

这是你的代码。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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="com.example.ambulancetrack.MainActivity">

<LinearLayout
    android:id="@+id/layout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/tvRegNo"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/tvPhoneNo"
        android:layout_weight="1"
        android:text="reg_no"
        android:textColor="#21F6D0" />

    <TextView
        android:id="@+id/tvPhoneNo"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_weight="1"
        android:text="RAHAT Phone No."
        android:textColor="#21F6D0"

        />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/layout1"
    android:orientation="horizontal">

    <EditText
        android:id="@+id/evRegNo"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvRegNo"
        android:layout_weight="1"
        android:background="#1E4F56"
        android:textColor="#FFFFFF" />

    <EditText
        android:id="@+id/evPhoneNo"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/evRegNo"
        android:layout_weight="1"
        android:background="#1E4F56"
        android:textColor="#FFFFFF" />
</LinearLayout>

测试它并接受答案是否有用。

答案 3 :(得分:1)

试试这种方式

<RelativeLayout
        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"
        >

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="abce"
            android:id="@+id/tvRegNo"
            android:layout_toLeftOf="@+id/tvPhoneNo"

            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="RAHAT Phone No."

            android:layout_alignParentRight="true"
            android:id="@+id/tvPhoneNo"

            />
        <EditText
            android:layout_width="170dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tvRegNo"
           android:hint="avc"
            android:layout_alignParentLeft="true"
            android:textColor="#FFFFFF"
            android:id="@+id/evRegNo"
            />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="avcd"
            android:layout_toRightOf="@+id/evRegNo"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/tvPhoneNo"
            android:textColor="#FFFFFF"
            android:id="@+id/evPhoneNo"
            />

    </RelativeLayout>

答案 4 :(得分:1)

您的想法是正确的,我们可以使用一个RelativeLayout来实现您的目标,但您最后的EditText可能是错误的。请试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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"
    android:background="@drawable/amicare"

    tools:context="com.example.ambulancetrack.MainActivity" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/reg_no"

        android:id="@+id/tvRegNo"
        android:textColor="#21F6D0"
        android:layout_toLeftOf="@+id/tvPhoneNo"
        />

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="RAHAT Phone No."
        android:textColor="#21F6D0"

        android:layout_alignParentRight="true"
        android:id="@+id/tvPhoneNo"

        />
   <EditText 
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_below="@+id/tvRegNo"

       android:background="#1E4F56"
       android:textColor="#FFFFFF"
       android:id="@+id/evRegNo"
       />

     <EditText 
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/tvPhoneNo"
       android:layout_below="@+id/tvPhoneNo"
       android:background="#1E4F56"
       android:textColor="#FFFFFF"
       android:id="@+id/evPhoneNo"
       />

    </RelativeLayout>

添加

android:layout_alignLeft="@+id/tvPhoneNo"
android:layout_below="@+id/tvPhoneNo"

确保evPhoneNo下面的tvPhoneNo布局,并tvPhoneNo左对齐。

答案 5 :(得分:1)

将主要布局类型更改为线性,方向为垂直。然后在其中添加另外两个线性布局,其中包含水平方向,并将Textview放在那里。使用权重属性控制每个布局的大小。像那样:

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="10"></LinearLayout>
</LinearLayout>

为您的主纵向布局添加一个布局并将其设置为重量为10,因此占用大部分空间并且您的文本视图将彼此靠近。不要忘记设置内部布局的android:layout_height="0dp"以使重量正常工作。

答案 6 :(得分:1)

这应该做的工作。您可以根据需要更改文本颜色和其他属性。但这是您问题的基本结构               

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginTop="137dp"
            android:text="EditView"/>

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText2"
            android:layout_alignTop="@+id/editText"
            android:text="EditView"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="TextView"
            android:id="@+id/textView1"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="TextView"
            android:id="@+id/textView2"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" />
    </RelativeLayout>