繁体   English   中英

Android中按钮的背景图片

[英]Background image for a button in android

我正在尝试为按钮添加背景图像,并且该图像正在工作,但是没有达到我的预期。

第一张照片(无背景)

第二张图片(有背景)

我希望背景仅覆盖按钮。 换句话说,图像应具有与上方2个按钮相同的形式(我说的是圆角和较小的尺寸)。

这是布局的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_main" tools:context=".MainActivity"
android:orientation="vertical">

<LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent">
    <Button
        android:onClick="playerStats"
        android:text="@string/plStats"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</LinearLayout>

<LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent">
    <Button

        android:text="@string/comp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</LinearLayout>

<LinearLayout android:layout_weight="1" android:layout_height="fill_parent" android:layout_width="fill_parent">
    <Button
        android:background="@drawable/calendar"
        android:text="@string/calendar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</LinearLayout>

这很容易做到

您应该使用ImageButton并删除这些按钮,例如

<ImageButton
    android:src="@drawable/calendar"
    android:text="@string/calendar"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

如果您想删除该按钮的背景,也可以使用:

android:background="@null"

用这些布局替换您的布局...可以为您提供帮助

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_main" tools:context=".MainActivity"
android:orientation="vertical">

<LinearLayout android:layout_weight="1" android:layout_height="match_parent" android:layout_width="match_parent">
    <Button
        android:onClick="playerStats"
        android:text="@string/plStats"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</LinearLayout>
  <View    ////I HAVE ADDED VIEW WHICH IS TRASNPARENT TO SEPRATE THE BUTTONS
    android:layout_width="fill_parent"
    android:layout_height="10dp"

    android:background="@android:color/transparent" >
</View>


<LinearLayout android:layout_weight="1" android:layout_height="match_parent" android:layout_width="match_parent">
    <Button

        android:text="@string/comp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</LinearLayout>

  <View ////I HAVE ADDED VIEW WHICH IS TRASNPARENT TO SEPRATE THE BUTTONS
    android:layout_width="fill_parent"
    android:layout_height="10dp"

    android:background="@android:color/transparent" >
</View>


<LinearLayout android:layout_weight="1" android:layout_height="match_parent" android:layout_width="match_parent">
    <Button
        android:background="@drawable/calendar"
        android:text="@string/calendar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</LinearLayout>

<View  ////I HAVE ADDED VIEW WHICH IS TRASNPARENT TO SEPRATE THE BUTTONS
    android:layout_width="fill_parent"
    android:layout_height="10dp"

    android:background="@android:color/transparent" >
</View>

最简单的解决方案是:您需要编辑图像背景(使其更小并带有角)-使用Photoshop可以轻松完成
比使用9补丁工具制作9补丁图像(9补丁图像可以自动调整大小以适应视图内容和屏幕尺寸)

“无背景”按钮实际上是在显示默认背景,因此设置新背景将覆盖该圆角为灰色的东西 ...

检查这个问题

我建议将ImageButtonandroid:src使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM