为什么没有出现XML布局中的TextView

时间:2014-05-11 14:27:55

标签: android xml android-layout android-linearlayout

问题在于textview,其ID为editTextLabelID,如下所示。

我正在尝试按如下方式设计布局:labeleditText 我在xml布局中有一个带有绿色背景的Relativelayout。在其中,有一个textview应该是我的标签,在水平旁边,应该有一个edittext

问题是,根据以下代码,我收到图像中显示的以下结果。而edittext虽然在xml布局中位于textview之前,但却会影响它。如何将textviewedittext水平放置在彼此之后?

更新的 XML代码:

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

      <LinearLayout 
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="horizontal"
          android:background="@color/titleBackGroundColor">              
          <RelativeLayout 
              android:id="@+id/RelativeLayout00"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:layout_gravity="top|center_horizontal">
              <TextView 
                  android:id="@+id/addLocationActivityTitleID"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:gravity="center"
                  android:textSize="@dimen/titlesTextSize"
                  android:text="@string/addLocationActivityTitle"
                  android:textColor="@color/titleColor">
              </TextView>
          </RelativeLayout>
      </LinearLayout>

      <LinearLayout 
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="vertical">              
          <RelativeLayout 
              android:id="@+id/RelativeLayout01"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"     
              android:layout_marginTop="@dimen/marginTop"
              android:background="@color/bodyBackGroundColor">
              <TextView 
                  android:id="@+id/editTextLabelID"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_alignParentLeft="true"
                  android:textSize="@dimen/labelsTextSizes"
                  android:textColor="@color/contentsColor">
              </TextView>
              <EditText 
                  android:id="@+id/editTextID"
                  android:layout_height="wrap_content"
                  android:layout_width="wrap_content"
                  android:layout_toRightOf="@+id/editTextLabelID"
                  android:layout_alignParentRight="true"
                  android:layout_alignParentTop="true"
                  android:ems="10"
                  android:inputType="text">
              </EditText>
         </RelativeLayout>
     </LinearLayout>         

更新的 结果: enter image description here

4 个答案:

答案 0 :(得分:1)

试试这个:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="horizontal">              
      <RelativeLayout 
          android:id="@+id/RelativeLayout01"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"     
          android:layout_marginTop="@dimen/marginTop"
          android:background="@color/bodyBackGroundColor">
          <TextView 
              android:id="@+id/editTextLabelID"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignParentLeft="true"                  
              android:textSize="@dimen/labelsTextSizes"
              android:textColor="@color/contentsColor">
          </TextView>
          <EditText
              android:id="@+id/editTextID"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_alignParentRight="true"
              android:layout_alignParentTop="true"
              android:ems="10"
              android:inputType="text" >

              <requestFocus />
          </EditText>

     </RelativeLayout>

答案 1 :(得分:0)

您在编辑文本中缺少这三行

android:layout_width="match_parent"
android:layout_toRightOf="@+id/editTextLabelID"
android:layout_alignParentTop="true"

如果你不把它与父母相匹配,它将会非常小 ems值通常不是很好用的

<LinearLayout 
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="vertical">              
              <RelativeLayout 
                  android:id="@+id/RelativeLayout01"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"     
                  android:layout_marginTop="@dimen/marginTop"
                  android:background="@color/bodyBackGroundColor">
                  <TextView 
                      android:id="@+id/editTextLabelID"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:layout_alignParentLeft="true"
                      android:textSize="@dimen/labelsTextSizes"
                      android:textColor="@color/contentsColor">
                  </TextView>
                  <EditText 
                      android:id="@+id/editTextID"
                      android:layout_height="wrap_content"
                      android:layout_width="match_parent"
                      android:layout_toRightOf="@+id/editTextLabelID"
                      android:layout_alignParentTop="true"
                      android:inputType="text">
                  </EditText>
             </RelativeLayout>
         </LinearLayout> 

答案 2 :(得分:0)

// try this way,hope this will help you...

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:gravity="center">

    <TextView
        android:id="@+id/addLocationActivityTitleID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="@dimen/titlesTextSize"
        android:text="@string/addLocationActivityTitle"
        android:textColor="@color/titleColor"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/bodyBackGroundColor">

        <TextView
            android:id="@+id/editTextLabelID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="@dimen/labelsTextSizes"
            android:textColor="@color/contentsColor"/>
        <EditText
            android:id="@+id/editTextID"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:ems="10"
            android:inputType="text"/>
    </LinearLayout>
</LinearLayout>

答案 3 :(得分:0)

在您的代码中,您有许多无用的布局,您可以这样做:

<TextView
    android:id="@+id/addLocationActivityTitleID"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textSize="@dimen/titlesTextSize"
    android:text="@string/addLocationActivityTitle"
    android:textColor="@color/titleColor"/>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#00ff00">

    <TextView
        android:id="@+id/editTextLabelID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="@dimen/labelsTextSizes"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="4dp"
        android:textColor="@color/contentsColor"/>

    <EditText
        android:id="@+id/editTextID"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/editTextLabelID"
        android:layout_marginLeft="4dp"
        android:layout_alignTop="@+id/editTextLabelID"
        android:layout_alignBottom="@+id/editTextLabelID"
        android:layout_width="match_parent"
        android:ems="10"
        android:inputType="text"/>
</RelativeLayout>