Android按钮文字定位

时间:2014-03-25 14:49:47

标签: android button uitextposition

如何使文本显示在按钮旁边,而不是按下按钮?

以下是我需要的屏幕截图:

enter image description here

您可以在第一个按钮上看到文字。它写在按钮上,我无法从它移动(除了改变重力,但它不是我真正想要的)。 在第二个按钮旁边,我放了一个标签,作为我想要达到的目标的准则。

有没有办法在Android中执行此操作? 它在ObjectiveC中非常简单。

6 个答案:

答案 0 :(得分:3)

您可以使用TextView而不是按钮 TextViews是可点击的,与按钮的方式相同。

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

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

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

这是一种最佳做法,可以使您的设计层层尽可能扁平化。

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

答案 1 :(得分:0)

您可以将第二个ButtonTextView换成水平LinearLayout。这将导致文本位于按钮的右侧。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您可以使用RelativeLayout来包装这两个元素,并轻松使用layout_rightOf定位TextView旁边的Button,希望它有帮助:)

答案 4 :(得分: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>

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

答案 5 :(得分: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"/>