使用xml在Android中创建带圆圈的布局 - 使用材质围绕圆圈设计阴影

时间:2014-12-21 20:31:59

标签: android xml layout geometry shadow

我正在寻找一种创建带圆圈的LinearLayout的方法。到目前为止,我能够使用drawable-xml和纯色创建一个,但问题是,如果我将它应用于布局,它显示Circle非常好,但如果我给布局“海拔“-Tag,例如5dp,它在圆圈周围的框中显示阴影,就在实际的LinearLayout周围。

我需要它围绕圆圈,所以其余部分是透明的。

(我在布局中也有其他一些东西!(按钮,TextView等),需要在这个布局中休息!;))

现在,这就是我所拥有的:

目前看起来像这样: (我还不允许上传图片,对不起,所以: http://i59.tinypic.com/2lseihj.jpg ) 粉色圆是一个LinearLayout,但实际的LinearLayout仍然是一个矩形。

视图中圆圈的XML如下所示:

<LinearLayout
        android:orientation="vertical"
        android:layout_width="200sp"
        android:layout_height="200sp"
        android:background="@drawable/circle_layout"
        android:gravity="center"
        android:padding="5sp"
        android:id="@+id/linLay_circleMain"
        android:layout_alignTop="@+id/linLay_mainLeft_BrightTheme"
        android:layout_centerHorizontal="true"
        android:baselineAligned="false">

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imBt_mainSettings"
            android:src="@android:drawable/ic_menu_preferences"
            android:background="#00ffffff"
            android:layout_marginBottom="10sp"
            android:scaleType="fitCenter"
            android:visibility="invisible" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="@string/main_StandardTime"
            android:id="@+id/tv_main_TimerView"
            android:textSize="50sp"
            android:textColor="@color/materialTextLight" />

        <ImageButton
            android:layout_width="40sp"
            android:layout_height="40sp"
            android:id="@+id/imBt_startSession"
            android:src="@android:drawable/ic_media_play"
            android:background="#00ffffff"
            android:layout_marginTop="10sp"
            android:scaleType="fitCenter"
            android:visibility="invisible" />

    </LinearLayout>

我在这个可绘制的xml中定义了Circle:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="@color/materialAccent"/>
</shape>

现在,没有Java代码访问或使用View做任何事情...... 所以,问题是,围绕圆的实际视图仍然是矩形,因此添加材料深度会在其两侧产生阴影。

期待解决方案或想法。

0 个答案:

没有答案