仅具有外部行程的形状

时间:2017-01-11 12:07:38

标签: android android-layout

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

    <stroke android:width="30dp"
            android:color="#51000000"
        />
</shape>

它提供了一个半内半外&#34;行程。 我需要的只是外半透明中风。可以吗?

我拥有的是什么 What I have

我需要的是什么 What I need

由于

8 个答案:

答案 0 :(得分:1)

你可以检查使用图层列表创建的这个形状及其项目。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item >
        <shape android:shape="oval" >
            <solid android:color="#fff" />
        </shape>
    </item>

    <item >
        <shape android:shape="oval">
            <solid android:color="@android:color/transparent" />
            <stroke
                android:width="50dp"
                android:color="#30000000" />
        </shape>
    </item>

</layer-list>

答案 1 :(得分:0)

如果为笔画颜色添加alpha,则内半部分没有透明,外部是透明的。这是笔画颜色的工作方式。如果你不想要内圈使用没有Alpha的颜色并调整Hexcode。

答案 2 :(得分:0)

尝试添加android:innerRadius =&#34; 0dp&#34; for shape attribute -

<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
>
<solid android:color="#ffffff"/>

<stroke android:width="4dp"
    android:color="#51000000"
    />
</shape>

答案 3 :(得分:0)

这是Android studio XML预览bug.look like上面显示的图片来自Android studio xml preview.actually没有内外层。

答案 4 :(得分:0)

除了以下情况之外,我发现没办法做到这一点:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item >
        <shape android:shape="oval">
            <solid android:color="@android:color/transparent" />
            <stroke
                android:width="@dimen/stroke_width"
                android:color="#33000000" />
        </shape>
    </item>

    <item >
        <shape android:shape="oval" >
            <solid android:color="#fff" />
            <stroke
                android:width="@dimen/stroke_width"
                android:color="@android:color/transparent">
            </stroke>
        </shape>
    </item>
</layer-list>

答案 5 :(得分:0)

试试这个:(更改尺寸和颜色以满足您的需要)

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="oval">
            <stroke android:width="@dimen/default_stroke_size_small" android:color="@color/colorDimBlack"/>
        </shape>
    </item>

    <item>
        <shape android:shape="oval">
            <stroke android:width="@dimen/default_stroke_size_small" android:color="@android:color/transparent"/>
            <solid android:color="@color/colorWhite"/>
        </shape>
    </item>
</layer-list>

答案 6 :(得分:-1)

将您的代码更新为:

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

    <stroke
        android:width="30dp"
        android:color="#000000" /> <--- this line you have to change
</shape>

答案 7 :(得分:-2)

您的第一种颜色缺少一个f。因此,它创造了一半可见的模式

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

    <stroke android:width="30dp"
        android:color="#51000000"
        />
</shape>