TextView无法设置ImageView

时间:2015-06-02 12:37:26

标签: android xml

我是Android新手。我正在做一个布局。我想在imageview下面设置textview,但我无法做到。当我在图像下面单独拖动textview时,RelativeLayout变为matchparent。请看我的代码。

<?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="wrap_content"
android:background="@drawable/sample" >

<ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="@drawable/ic_launcher" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/imageView1"
    android:text="sbxcdgdbc dhwe hdejd djhe  dqe "
    android:textColor="#ffffff" />

</RelativeLayout> 

背景图像为500 * 350像素 enter image description here

7 个答案:

答案 0 :(得分:1)

尝试将此行android:layout_below="@+id/rr"更改为android:layout_below="@id/rr"。在第一个版本中,您在这里说的是新ID。在第二个版本中,您引用了ID,因此您不需要+。

答案 1 :(得分:0)

如果你有这么简单的布局,你应该使用LinearLayout和param:orientation vertical。然后,每个新视图将在下面添加。稍后您可以使用margin param来更改视图之间的空间。

答案 2 :(得分:0)

您可以使用不同的方式来满足您的要求

  1. LinearLayout with Orientation vertical,其中子项可以是Textview和ImageView。
  2.   

    但问题在于它不是用于不同视图的最佳方式。

    1. 您可以使用一个包含一个名为compound drawable的标签的Textview的子项来获取相对/线性的任何父布局,并为其提供图像。
    2.   

      使用此方法,您可以在textview的上方,下方,右侧或左侧显示单个图像。我相信这是一个好方法。

答案 3 :(得分:0)

如果你的要求只是在ImageView下方显示TextView,你应该使用&#34; vertical&#34;方向,见下面的代码:

<?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" 
android:gravity="center|center"
android:background="@drawable/sample">
<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
   android:background="@drawable/ic_launcher" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/linearLayout1"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center"
    android:text="sbxcdgdbc dhwe hdejd djhe  dqe "
    android:textColor="#ffffff" />
</LinearLayout>

根据你的评论编辑答案。

答案 4 :(得分:0)

修改

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

<ImageView
    android:id="@+id/imageView0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/sample" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@mipmap/ic_launcher" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:layout_centerHorizontal="true"
    android:text="sbxcdgdbc dhwe hdejd djhe  dqe "
    android:textColor="#ffffff"
    android:layout_below="@+id/imageView1"
    android:id="@+id/textView" />

</RelativeLayout>

答案 5 :(得分:0)

试试这个:

<?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="wrap_content"
                android:background="@drawable/sample">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="@drawable/ic_launcher"/>

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/imageView1"
        android:text="sbxcdgdbc dhwe hdejd djhe  dqe "
        android:textColor="#ffffff"/>


</RelativeLayout>

答案 6 :(得分:0)

这对我有用:

<?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="wrap_content"
android:background="@drawable/sample"
android:gravity="center"
android:orientation="vertical" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:background="@drawable/ic_launcher" />

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/imageView1"
    android:text="sbxcdgdbc dhwe hdejd djhe  dqe "
    android:textColor="#ffffff" />

 </LinearLayout>

enter image description here