如何在TextView上放置Android按钮?

时间:2015-10-20 18:10:31

标签: java android

我需要创建以下内容:

----------------------------------------------------
|     |                                            |
|     |                                            |
----------------------------------------------------
   |                       |
   ImageButton             TextView

ImageButton有一个图像,需要缩放以适应TextView的高度......

我设法使用RelativeLayout来定位按钮:

       <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TextView
                android:id="@+id/tense_textview"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="@string/tense"
                android:gravity="center_horizontal"
                android:background="@android:color/holo_orange_dark"
                android:padding="15dp"
                android:textStyle="bold"
                android:textColor="@android:color/white" />
            <ImageButton
                android:id="@+id/pauseButton"
                android:background="@drawable/pause_button_background"
                android:src="@drawable/pause"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="10dp" />
        </RelativeLayout>

但是,这给了我:

                           TextView
                           |
----------------------------------------------------  
|         |                                        |
|         |                                        |
|         |-----------------------------------------
|         |                                        |
----------------------------------------------------
     |                     |
     ImageButton           RelativeLayout

有什么想法吗?

4 个答案:

答案 0 :(得分:1)

您需要添加属性:

android:layout_alignBottom="@+id/tense_textview"

android:layout_alignTop="@+id/tense_textview" 到你的imageview

答案 1 :(得分:0)

尝试将ImageButton的高度设置为match_parent

答案 2 :(得分:0)

使用ImageView代替ImageButton并添加
android:layout_alignBottom="@id/tense_textview" android:layout_alignTop="@id/tense_textview" android:scaleType="CENTER_CROP OR CENTER_INSIDE "

CENTER_CROP =均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或大于视图的相应尺寸(减去填充)。

CENTER_INSIDE =均匀缩放图像(保持图像的纵横比),使图像的尺寸(宽度和高度)等于或小于视图的相应尺寸(减去填充)。

从个人经验来看,我从不使用ImageButton,因为ImageView为我提供了更大的灵活性,而ImageButton中有固有的填充,使我无法实现像素完美。 (这可能只是一个巨大的痛苦)

答案 3 :(得分:0)

试试这个 -

each_serializer