1

如何使文本出现在按钮旁边,而不是在按钮上?

这是我需要的截图:

在此处输入图像描述

您可以在第一个按钮上看到文本。它写在按钮上,我无法将它从中移开(除了改变重力,但这并不是我真正想要的)。在第二个按钮旁边,我放了一个标签,作为我想要实现的目标的指导。

有没有办法在Android中做到这一点?这在 ObjectiveC 中非常简单。

4

6 回答 6

5

您可以使用 TextView 而不是按钮。
TextViews 是可点击的,就像按钮一样。

监听器的分配方式与按钮的分配方式相同。
因此,需要对代码进行非常小的更改(重命名控件前缀并将类型从 Button 更改为 TextView,这确实是一项微不足道的任务)。

您可以通过android:dawableLeft="@drawable/my_icon"为左侧图形指定属性来为其添加可绘制对象

您可以使用 drawableLeft 和/或 drawableRigth 和/或 drawableTop 和/或 drawableBottom。
您可以指定drawablePadding,在图形和文本之间添加一些空间

这是一种最佳实践,可以使您的设计层次结构尽可能扁平化。

请注意,您不仅限于图像......您也可以使用 xml drawables!

于 2014-03-25T14:54:55.840 回答
0

你可以把你的第二个ButtonTextView一个水平的LinearLayout. 这将导致文本位于按钮的右侧。

于 2014-03-25T14:54:41.157 回答
0

尝试相对布局。有一个属性 align_leftof

于 2014-03-25T14:59:13.017 回答
0

像这样的东西:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/btn1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button1"/>
    <Button
        android:id="@+id/btn2"
        android:layout_below="@id/btn1"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:text="Button2"/>
    <TextView
        android:layout_below="@id/btn1"
        android:layout_width="40dp"
        android:layout_height="80dp"
        android:text="Text"
        android:gravity="center"
        android:layout_toRightOf="@id/btn2"/>

    </RelativeLayout>

这不是一个完美的例子,但我希望它有所帮助。

于 2014-03-25T15:13:33.590 回答
0

您可以使用 aRelativeLayout来包装这两个元素并轻松使用layout_rightOf将其定位到TextView旁边Button,希望对您有所帮助:)

于 2014-03-25T15:01:00.390 回答
0

这很简单。只需使用 android:drawableLeft. 在您的按钮中,可绘制图像如下:

       <Button
        android:layout_marginTop="20dp"
        android:layout_width="250dp"
        android:layout_height="50dp"
        android:text="button"
        android:drawableLeft="@mipmap/ic_launcher_round"/>
于 2020-02-01T16:24:44.700 回答