如何将文字和图标添加到Android按钮中心呢?

如何将文字和图标添加到Android按钮中心呢?,android,Android,我有一个圆形按钮,在一个表中,所以它的2x2。问题是按钮太大,图像和文本的距离太远。见下图 <stroke android:width="4px" android:color="#ffffff" /> <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" /> 如何缩小按钮,使其宽度/高度约为一半。并将图标向下移动到按钮

我有一个圆形按钮,在一个表中,所以它的2x2。问题是按钮太大,图像和文本的距离太远。见下图

<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />
如何缩小按钮,使其宽度/高度约为一半。并将图标向下移动到按钮的中心。降低按钮的高度/宽度可能会将图标移动到更合适的位置

<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />

<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />
代码:

<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />
活动:

<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />

圆形按钮:

<?xml version="1.0" encoding="utf-8"?>
<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />

<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />

<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />
向量:

<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
<path
    android:fillColor="#fffafafa"
    android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z"/>


<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />

使用此结构而不是普通按钮

<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />
 <FrameLayout
  android:layout_width="0dp"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
android:background="@drawable/circlebuttonshape" >
<LinearLayout
android:orientation="vertical">
<ImageView/>
<TextView/>

</LinearLayout>
</Framelayout>


更好的解决方法是利用大量的Unicode符号-在按钮文本左侧嵌入Unicode符号图标,而无需借助这些布局技巧。您可以通过一个文本按钮轻松地将整个内容居中。

经过测试…请尝试此布局文件,我相信它会对您有所帮助。它可以正常工作。它使图像和文本更紧密地结合在一起,这样现在就可以了。但是,这些圆的大小仍然相同(巨大)。此外,LinearLayout内的按钮不是圆形。您可以将按钮视为矩形。所以它现在看起来像一个圆形内的矩形,按钮和文本在中间。谢谢。如何使圆圈的大小减半?更像是50dpx50dp而不是100dpx100dp的圆的高度和宽度?我再次编辑了我的答案。检查一下。它将删除你的巨大圆圈。因此,既然背景是透明的,用户就看不到按钮被点击的反馈了。那么,它是如何像按钮一样工作的呢?
<stroke android:width="4px" android:color="#ffffff" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />