如何使 android 按钮匹配内部图标的确切大小?
How to make android button match the exact size of the inner icon?
我希望我的按钮与内部图标的大小完全匹配。
按钮:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginTop="0dp"
android:layout_marginEnd="0dp"
android:layout_marginBottom="0dp"
android:background="@android:color/transparent"
android:padding="0dp"
app:icon="@drawable/circle"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:iconSize="100dp"
app:iconTint="@color/design_default_color_primary" />
circle.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="1dp"
android:color="#78d9ff"/>
</shape>
生成的按钮有一些意想不到的顶部和底部填充:
是否可以去掉填充?
尝试将此属性添加到按钮:
android:insetTop="0dp"
android:insetBottom="0dp"
你应该试试
Step 1: Create Circle
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="1dp"
android:color="#78d9ff"/>
</shape>
Step 2: Import Icon to Android Project
Step 3: Using Layer-list Drawable
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_corner_black" />
<item android:drawable="@drawable/ic_arrow_back" android:top="12dp"
android:bottom="12dp" android:left="12dp"
android:right="12dp"/>
</layer-list>
Explain : Use padding to shrink the icon inside the button
希望我的回答对您有所帮助
我希望我的按钮与内部图标的大小完全匹配。
按钮:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginTop="0dp"
android:layout_marginEnd="0dp"
android:layout_marginBottom="0dp"
android:background="@android:color/transparent"
android:padding="0dp"
app:icon="@drawable/circle"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:iconSize="100dp"
app:iconTint="@color/design_default_color_primary" />
circle.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="1dp"
android:color="#78d9ff"/>
</shape>
生成的按钮有一些意想不到的顶部和底部填充:
是否可以去掉填充?
尝试将此属性添加到按钮:
android:insetTop="0dp"
android:insetBottom="0dp"
你应该试试
Step 1: Create Circle
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="1dp"
android:color="#78d9ff"/>
</shape>
Step 2: Import Icon to Android Project
Step 3: Using Layer-list Drawable
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_corner_black" />
<item android:drawable="@drawable/ic_arrow_back" android:top="12dp"
android:bottom="12dp" android:left="12dp"
android:right="12dp"/>
</layer-list>
Explain : Use padding to shrink the icon inside the button
希望我的回答对您有所帮助