Android:将图像添加到具有形状背景的按钮

时间:2014-02-25 12:24:47

标签: android button android-activity shape

我刚刚开始使用android并编写我的第一个应用程序,但是我现在有两天困难了:我有一个带有xml文件形状的按钮作为背景。每个按钮执行一个将有文本。带图像的那个是我的头疼 - 我使用了形状背景并将图像放在TextView:drawableTop中,但它的大小与其他按钮不同,我需要它们的大小完全相同。这是代码:

<LinearLayout

    <Button
        android:id="@+id/ButtonCoffee"
        style="@style/buttonText"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/coffeepng"
        android:focusable="false"
        android:onClick="loadBreak"
        android:textSize="@dimen/activity_vertical_margin" />

我用于所有按钮的样式:

<style name="buttonText" parent="@android:style/TextAppearance">
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:textSize">35sp</item>
    <item name="android:typeface">sans</item>
    <item name="android:textStyle">bold</item>
    <item name="android:background">@drawable/btn_background_green</item>
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_marginTop"> 5dp </item>
    <item name="android:layout_marginBottom">5dp </item>
</style>

与此同时,我想在开发此应用时提出更多问题:

  1. 使用形状作为按钮背景是否更有效,或者使用png图像是否合适?在不同的设备上达到相同的尺寸是否重要?

  2. 是否可以进行多项活动,或者我应该尝试在单项活动中绘制不同的按钮组(取决于用户的风格选择)?

  3. 如何将图像从一个活动传递到另一个活动?

1 个答案:

答案 0 :(得分:1)

在名为drawable的{​​{1}}文件夹中创建一个形状,如下所示......

button_shape.xml

然后使用此形状设置为按钮的背景,如下所示......

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#ef4444" />

    <stroke
        android:width="1dp"
        android:color="#992f2f" />

    <corners android:radius="16dp" />

</shape>