Android中文本右侧的按钮

Android中文本右侧的按钮,android,android-layout,Android,Android Layout,我正在制作一个Android用户界面。我想在文本左侧放置一个带边框的按钮,但不知道如何操作 您可以做一些非常简单的事情,制作线条或相对布局,将可绘制资源制作成任何颜色的形状,然后将文本视图和按钮放在那里。试试这个 view.setButtonDrawable(new StateListDrawable()); view.setCompoundDrawablesWithIntrinsicBounds(R.drawable.img, 0, 0, 0); 为

我正在制作一个Android用户界面。我想在文本左侧放置一个带边框的按钮,但不知道如何操作


您可以做一些非常简单的事情,制作线条或相对布局,将可绘制资源制作成任何颜色的形状,然后将文本视图和按钮放在那里。

试试这个

view.setButtonDrawable(new StateListDrawable());

view.setCompoundDrawablesWithIntrinsicBounds(R.drawable.img, 0,
                    0, 0);

为了实现部分覆盖,您可以将
文本视图
按钮
放在
相对视图
内,并将一些右/端边距应用于
文本视图

如果您的
按钮始终具有相同的文本,您可以尝试为需要应用于
文本视图的右侧边距找到合适的值

如果
按钮
文本是可变的,则可以在计算布局后覆盖代码中的边距。以下是您可能需要的一个尝试(对于某些dp大小,它有一些虚构的值,但我认为您可以理解):



啊,我忘了您将可提取资源称为可提取回退。在线性或相对布局中,您可以告诉我如何将按钮移到边框左侧。
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:paddingEnd="16dp"
        android:paddingStart="16dp">
        <TextView
            android:text="TextView"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:background="#ff20ff"
            android:gravity="center_vertical"
            android:layout_centerVertical="true"
            android:layout_marginEnd="50dp"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            />
    </RelativeLayout>
</RelativeLayout>