从Android中的切换按钮中删除填充

Dhr*_*iya 9 android togglebutton android-layout

我在android中创建一个简单的切换按钮,并将背景设置为drawable.

<ToggleButton
    android:layout_width="wrap_content"
    android:drawablePadding="0dp"
    android:layout_height="wrap_content"
    android:text=""
    android:textSize="12sp"
    android:padding="0dp"
    android:id="@+id/tag_text"
    android:background="@drawable/toggle_selector"/>
Run Code Online (Sandbox Code Playgroud)

toggle_selector.xml如下所示:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/toggle_button_off" android:state_checked="false"/>
    <item android:drawable="@drawable/toggle_button_on" android:state_checked="true"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

toggle_button_off和toggle_button_on具有简单的形状,可用一些颜色绘制.

这就是我将这个切换按钮膨胀到我的视图中的方式:

View child = getLayoutInflater().inflate(R.layout.tags, null);
        ToggleButton tag = ((ToggleButton)child.findViewById(R.id.tag_text));
        tag.setText("Testing");
        tag.setTextOff("Testing");
        tag.setTextOn("Testing");
        flowlayout.addView(child);
Run Code Online (Sandbox Code Playgroud)

问题是在切换按钮的文本周围有太多填充,我无法通过设置摆脱它padding = "0dp".这些按钮上的文字是动态添加的,因此设置恒定的高度重量也无济于事.

在此输入图像描述

Dhr*_*iya 28

我通过将minWidth,minHeight设置为0dp来获得解决方案.包装宽度和高度的内容.然后将自定义填充添加到我想要的togglebutton.

<ToggleButton
    android:layout_width="wrap_content"
    android:minWidth="0dp"
    android:minHeight="0dp"
    android:layout_height="wrap_content"
    android:text=""
    android:textSize="12sp"
    android:padding="2dp"
    android:id="@+id/tag_text"
    android:background="@drawable/toggle_selector"/>
Run Code Online (Sandbox Code Playgroud)