Android Textview包装imageview

时间:2016-07-17 17:08:49

标签: android textview imageview

我要做的是将textview包裹在imageview周围,这样文本就不会只是在图像的左侧或右侧。是否可以通过XML完成此操作?因为它是带有图片的弹出对话框,所以通过代码进行操作会很麻烦,因为它是多个图像,具体取决于它们点击的内容。例如,见图片。

image

<?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="vertical"
android:background="@android:color/background_light">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_margin="1dp"
    android:background="@android:color/darker_gray">
    >
    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_margin="20dp">

            <Button
                android:id="@+id/dismiss"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Close" />

            <ImageView
                android:id="@+id/IV1"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:src="@drawable/IV1"
                android:layout_below="@+id/dismiss"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/TV15"
                android:id="@+id/TV15"
                android:layout_below="@+id/dismiss"
                android:layout_toRightOf="@+id/IV1"
                android:layout_toEndOf="@+id/IV1"
                android:paddingLeft="5dp"
                android:paddingTop="5dp"/>
        </RelativeLayout>
    </ScrollView>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

使用FrameLayout。更改ImageViewTextView的顺序,以设置另一个应该排在最前面的内容。

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerInParent="true">

    <ImageView
        android:id="@+id/menu_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:src="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/menu_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:lines="1"
        android:text="this is my sample" />
</FrameLayout>