0

我想在有图标和文本的地方创建按钮。这是我创建的:

在此处输入图像描述

这是xml:

        <Button
            android:id="@+id/call_button"
            android:layout_width="match_parent"
            android:layout_height="0dp"
          android:layout_marginTop="30dp"
            android:background="@drawable/button"
            android:layout_weight="40" 
            android:drawableLeft="@drawable/phone"
            android:text="Call"
            android:textColor="@color/white"
            />

如何将此电话图标移近文本?

4

4 回答 4

1

您是否尝试提供 paddingLeft 属性。

<Button android:drawableLeft="@drawable/ic_launcher"
        android:layout_width="100dip"
        android:paddingLeft="10dip"
        android:layout_height="50dip"
        android:text="hello" />

它帮助我将 Drawable 移向文本。

于 2012-05-11T07:30:18.837 回答
1

这可能会指导您进行安排,

http://developer.android.com/resources/articles/layout-tricks-efficiency.html

代码:

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/home_btn_test"
        android:drawableTop="@drawable/home_icon_test"
        android:textColor="#FFFFFF"
        android:id="@+id/ButtonTest"
        android:paddingTop="32sp"
        android:drawablePadding="-15sp"
        android:text="this is text"></Button>

参考:Android:在 Button 或 ImageButton 上组合文本和图像

另请参阅此处:http ://www.mokasocial.com/2010/04/create-a-button-with-an-image-and-text-android/

于 2012-05-11T07:37:43.140 回答
0

恐怕您无法设置复合可绘制对象的位置,但是您可以在图像周围添加一些透明像素,并且应该这样做:)

于 2012-05-11T07:30:45.403 回答
0

你可以做一件事。根据需要创建图像并将其放入可绘制文件夹中。创建一个图像视图并设置该图像,然后您可以将 onclick 事件设置为该图像。

ImageView img = (ImageView) findViewById(R.id.myImageId);
img.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
   // your code here
}
}); 
于 2012-05-11T07:43:26.773 回答