在ImageView上显示TextView和Button

时间:2016-04-26 13:29:52

标签: android android-layout android-fragments

想要在ImageView上显示TextView和Button我尝试但是ImageView隐藏了Button和TextView帮助我我能做什么我在不同的布局中尝试我更新新代码但问题相同

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



<ImageView
    android:id="@+id/imageview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="fitXY" >
</ImageView>
<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_below="@+id/imageview"
    >

</RelativeLayout>

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New Button"
    android:id="@+id/btn_booking"
    android:layout_gravity="right"
    android:gravity="bottom"
    android:layout_alignBottom="@+id/text_booking"
    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="Medium Text"
    android:id="@+id/text_booking"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />
   </RelativeLayout>

5 个答案:

答案 0 :(得分:0)

使用RelativeLayout作为根布局:

<?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/imageview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY" >
    </ImageView>
 <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/text_booking"
        />
    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/btn_booking"
        android:layout_gravity="right"
        android:gravity="bottom"
        android:layout_marginLeft="180dp"/>
    </LinearLayout>
</RelativeLayout>

答案 1 :(得分:0)

1)将Main LinearLayout(第一个)更改为RelativeLayout

2)在Sub LinearLayout(第二个)中使用 -

android:layout_above="@+id/imageview"
android:alignParentBottom="true"

<强>更新

请检查 -

<?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/imageview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@mipmap/ic_launcher"/>

 <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/imageview"
android:alignParentBottom="true"
android:weightSum="2"
android:orientation="horizontal">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:weight="1"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Medium Text"
    android:id="@+id/text_booking"/>

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New Button"
    android:id="@+id/btn_booking"
    android:weight="1"/>

</RelativeLayout>

希望它会有所帮助:)

答案 2 :(得分:0)

看看我的代码我最近使用它我使用父布局(RelativeLayout)并为父布局设置bacground图像我也改变了java中的背景和内部布局添加图像和文本你想要的...... 。!  希望它会对你有所帮助。

 <RelativeLayout
            android:id="@+id/frontLay"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/note0">

            <TextView
                android:id="@+id/imageOne"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_centerVertical="true"
                android:layout_marginLeft="50dp"
                android:background="@drawable/onecircle"
                android:tag="1"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textSize="25dp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/imageTwo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignEnd="@+id/imageOne"
                android:layout_alignRight="@+id/imageOne"
                android:layout_below="@+id/imageOne"
                android:layout_marginEnd="17dp"
                android:layout_marginRight="17dp"
                android:layout_marginTop="15dp"
                android:background="@drawable/twocircle"
                android:tag="2"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textSize="25dp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/imageThree"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignTop="@+id/imageTwo"
                android:layout_marginLeft="35dp"
                android:layout_marginStart="35dp"
                android:layout_toEndOf="@+id/imageSix"
                android:layout_toRightOf="@+id/imageSix"
                android:background="@drawable/threecircle"
                android:tag="3"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textSize="25dp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/imageFour"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/imageTwo"
                android:layout_alignParentTop="true"
                android:layout_alignStart="@+id/imageTwo"
                android:layout_marginTop="29dp"
                android:background="@drawable/fourcircle"
                android:tag="4"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textSize="25dp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/imageFive"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/imageTwo"
                android:layout_toLeftOf="@+id/imageEight"
                android:layout_toStartOf="@+id/imageEight"
                android:background="@drawable/fivecircle"
                android:tag="5"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textSize="25dp"
                android:textStyle="bold"
                android:visibility="invisible" />

        </RelativeLayout>

答案 3 :(得分:0)

只需添加这两行,我的问题就解决了。

android:layout_toLeftOf="@+id/btn_booking"
android:layout_toStartOf="@+id/btn_booking"

答案 4 :(得分:0)

很奇怪每个人都建议你使用RelativeLayout,而你应该使用FrameLayout这类东西。使用FrameLayout而不是RelativeLayout非常容易实现,因为RelativeLayout在绘图方面非常昂贵。要实现你所要求的,你应该使用这个简单的组合:

FrameLayout>ImageView>LinearLayout(with layout_gravity){Button,TextView}/>