我想将当前的矩形按钮制成圆形,并在其中添加共享按钮的图片。我的意思是按钮应该是圆形共享,并且应该只有“共享”的图像(适合)
<Button
android:id="@+id/button3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:layout_marginTop="8dp"
android:text="03"
android:textStyle="bold"/>
答案 0 :(得分:1)
将可绘制文件创建为bg_share.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="@color/colorPrimaryDark">
</solid>
<corners
android:radius="500dp">
</corners>
<padding
android:top="0dp"
android:right="10dp"
android:left="10dp"
android:bottom="0dp">
</padding>
</shape>
然后在main.xml中创建imageview而不是像这样的按钮
<ImageView
android:id="@+id/share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bcshare"
android:padding="10dp"
android:src="@drawable/ic_share_black_24dp" />
在MainActivity.java中执行类似的操作
share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Your code...
}
});
答案 1 :(得分:0)
您可以创建一个单独的可绘制对象并实现圆形。然后将可绘制对象设置为按钮的背景,如下所示
将可绘制文件创建为circle_button.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#008577"/>
<size
android:width="120dp"
android:height="120dp"/>
</shape>
然后按如下所示更改布局
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/circle_button"
android:text="Button"/>
答案 2 :(得分:0)
您可以找到答案Here
创建可绘制资源
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="1dp" android:color="#FF404040" />
<corners android:radius="6dp" />
<gradient android:startColor="#FF6800" android:centerColor="#FF8000" android:endColor="#FF9700" android:angle="90" />
</shape>
然后设置为按钮background。
android:background="@drawable/button_background"
答案 3 :(得分:0)
在可绘制文件夹中创建一个xml,并将其命名为:“ round.xml”,并在给定的按钮背景中使用该xml。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#eeffffff" />
<corners android:bottomRightRadius="8dp"
android:bottomLeftRadius="8dp"
android:topRightRadius="8dp"
android:topLeftRadius="8dp"/>
</shape>
在布局xml中的按钮上,您可以使用最后一行来设置背景
<Button
android:id="@+id/button3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:layout_marginTop="8dp"
android:text="03"
android:textStyle="bold"
android:background="@drawable/round"/>
答案 4 :(得分:0)
您可以将标准MaterialButton
与Widget.MaterialComponents.Button.Icon
样式一起使用。
类似的东西:
<com.google.android.material.button.MaterialButton
android:layout_width="48dp"
android:layout_height="48dp"
style="@style/Widget.MaterialComponents.Button.Icon"
app:icon="@drawable/ic_share"
app:iconSize="24dp"
app:iconPadding="0dp"
android:insetLeft="0dp"
android:insetTop="0dp"
android:insetRight="0dp"
android:insetBottom="0dp"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.MyApp.Button.Rounded"
/>
使用app:shapeAppearanceOverlay
获得圆角。这样,您将有一个圆圈。
<style name="ShapeAppearanceOverlay.MyApp.Button.Rounded" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSize">32dp</item>
</style>