Android ImageButton边框颜色透明但所有按钮都连接在一起

时间:2017-06-11 07:26:38

标签: android

我有一个垂直放置的ImageButton列表,每个按钮与灰色边框之间有一些空格。将背景颜色设置为透明或白色后,所有按钮都连接起来,我的意思是分隔按钮的空间消失了。

我想问一下使用ImageButton时是否有默认填充或边距,这样我可以删除其背景,但在默认情况下保持按钮之间的paddingmargin? / p>

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:adjustViewBounds="true"
        android:cropToPadding="false"
        app:srcCompat="@drawable/btnT"
        android:background="@android:color/transparent"
        android:scaleType="fitXY" />

    <ImageButton
        android:id="@+id/imageButton6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/imageButton"
        android:layout_centerHorizontal="true"
        android:adjustViewBounds="true"
        app:srcCompat="@drawable/btnB"
        android:cropToPadding="false"
        android:background="@android:color/transparent"
        android:scaleType="fitXY" />

    <ImageButton
        android:id="@+id/imageButton4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/imageButton6"
        android:layout_centerHorizontal="true"
        app:srcCompat="@drawable/btnE"
        android:adjustViewBounds="true"
        android:cropToPadding="false"
        android:background="@android:color/transparent"
        android:scaleType="fitXY" />

4 个答案:

答案 0 :(得分:2)

将其用作可绘制的

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/listview_background_shape">
    <stroke android:width="2dp" android:color="@android:color/transparent" />
    <padding android:left="2dp"
        android:top="2dp"
        android:right="2dp"
        android:bottom="2dp" />

    <corners android:radius="5dp" />
    <solid android:color="@android:color/transparent" />
</shape>

并将其作为ImageButton的背景

答案 1 :(得分:0)

You can also make the  android:background="@null" and remove android:cropToPadding="false" 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:adjustViewBounds="true"
        android:background="@null"
        android:scaleType="fitXY"
        app:srcCompat="@mipmap/ic_launcher" />

    <ImageButton
        android:id="@+id/imageButton6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/imageButton"
        android:layout_centerHorizontal="true"
        android:adjustViewBounds="true"
        android:background="@null"
        android:scaleType="fitXY"
        app:srcCompat="@mipmap/ic_launcher" />

    <ImageButton
        android:id="@+id/imageButton4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/imageButton6"
        android:layout_centerHorizontal="true"
        android:adjustViewBounds="true"
        android:background="@null"
        android:scaleType="fitXY"
        app:srcCompat="@mipmap/ic_launcher" />

</RelativeLayout>

答案 2 :(得分:0)

要插入所有ImageButtons的示例,删除不适用于您的额外填充语句

  <ImageButton

    android:id="@+id/imageButton4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/imageButton6"
    android:layout_centerHorizontal="true"
    app:srcCompat="@drawable/btnE"
    android:adjustViewBounds="true"
    android:paddingRight="30dp"
    android:paddingLeft="30dp"
    android:paddingTop="30dp"
    android:paddingBottom="30dp"
    android:background="@android:color/transparent"
    android:scaleType="fitXY" />

答案 3 :(得分:0)

btn_border res / drawable中的XML

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >

<solid android:color="#85d1fa" />

<stroke
    android:width="2.2dp"
    android:color="#ffffff" />

</shape>

布局XML上的ImageButton

<ImageButton

android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/imageButton6"
android:layout_centerHorizontal="true"
app:srcCompat="@drawable/btnE"
android:adjustViewBounds="true"
android:paddingRight="30dp"
android:paddingLeft="30dp"
android:paddingTop="30dp"
android:paddingBottom="30dp"
android:background="@drawable/btn_border"
android:scaleType="fitXY" />