0

我已经找到了几个关于如何通过活动做到这一点的解决方案,但我更愿意坚持使用 xml 进行布局和图形。

我想在具有圆角边缘而不是普通默认角的按钮上设置图像。

XML 样本:

<ImageView
                android:id="@+id/featuredimage"
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:clickable="true"
                android:background="@drawable/rounded"
                android:src="@drawable/budlight_sample"
                android:scaleType="centerCrop" />

圆角.XML

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

    <corners
        android:bottomLeftRadius="10dp"
        android:bottomRightRadius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp" >
    </corners>

</shape>
4

2 回答 2

1

使用 shape drawable 作为圆角,在应用的 drawable 文件夹中定义一个 rounded.xml。

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape=["rectangle" | "oval" | "line" | "ring"] >
    <corners
        android:radius="integer"
        android:topLeftRadius="integer"
        android:topRightRadius="integer"
        android:bottomLeftRadius="integer"
        android:bottomRightRadius="integer" />
</shape>

参考:http: //developer.android.com/guide/topics/resources/drawable-resource.html#Shape

在您的 layout.xml 文件中,使用 rounded.xml 作为视图的背景。

android:background="@drawable/shape"
于 2012-08-30T17:40:31.717 回答
0

在 xml 文件中绘制一个形状,然后调用它。

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
     <gradient android:startColor="#Anycolor" android:endColor="#Anycolor" 
            android:angle="90"/> 

    <corners android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp" 
     android:topLeftRadius="10dp" android:topRightRadius="10dp"/> 
</shape> 

另一种选择是使用 draw9patch。但是,您必须为此创建一个自定义图像按钮。使用上面的代码要容易得多。

于 2012-08-30T17:34:28.677 回答