使用图标和文本创建自定义按钮

时间:2010-09-07 11:21:24

标签: android

我想在我的Android应用程序中创建两个新的自定义按钮。

我希望他们是这样的:

  • 左侧的图标
  • 按钮右侧的文字
  • 另一个按钮,顶部带有图标,底部带有文字

所以基本上我会在我的资源中存储一个png图像,它将成为按钮的图标。我将另外的图像作为按钮背景可伸缩的9patch。我试了一下但结果很可怕,所以我一定做错了。

此代码:

   <Button 
             android:layout_width="100px"
       android:layout_height="100px"
             android:drawableTop="@drawable/imgIcon"
             android:drawablePadding="2px"
             android:text="Text"
             android:background="@drawable/button_background"
             />

后来编辑: 如果我像Macarse bellow所建议的那样:

<Button android:id="@+id/yourid"
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
       android:text="Your text here" 
       android:drawableTop="@drawable/imgdonetracks">
</Button>

我喜欢第一张图片

如果我做了这个改变:

<Button android:id="@+id/yourid"
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:text="Your text here" 
        android:drawableTop="@drawable/imgdonetracks"
        android:background="@drawable/button_background">
   </Button>

一切都搞错了

检查图片http://img255.imageshack.us/i/android3.png/

3 个答案:

答案 0 :(得分:9)

<button android:id="@+id/yourid"
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:text="Your text here" 
        android:drawabletop="@drawable/[image]">
</button>

以下是文档:http://developer.android.com/reference/android/widget/TextView.html#attr_android:drawableTop

答案 1 :(得分:1)

它看起来很难看,因为按钮布局背景有空的空间,但在9补丁图像中没有处理。现在我使用9p编辑器修复http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch并且工作正常

答案 2 :(得分:0)

您是否尝试使用更大的背景资源,这更符合按钮的宽度/高度比?