LinearLayout通過shape設置圓角,但是最下面的textView卻沒有圓角

1、效果圖

這裏寫圖片描述

2、問題描述

背景:上圖是一個vertical的linearlayout,最底部是一個textView(我設置了linearlayout的高度正好包含這些視圖,不能再高),我希望的效果是整個視圖都有圓角,而上圖卻只有上方有圓角

3、解決辦法

單獨給底部的textView設置一個shape作爲背景,只設置底部有圓角(不要設置多個corners節點,否則只有第一個有效果)

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

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

    <solid android:color="@android:color/darker_gray"></solid>

</shape>

然後,由於我這個textView的顏色是動態的,

GradientDrawable drawable = (GradientDrawable) textview.getBackground();
        drawable.setColor(Color.parseColor(bean.buttonColor));

這段代碼就可以修改顏色了

//        GradientDrawable gd = new GradientDrawable();//創建drawable
//        gd.setColor(Color.parseColor(bean.buttonColor));
//        float[] radious={0,0,3,3};
//        gd.setCornerRadii(radious);

//        textview.setBackgroundDrawable(gd);

如果用這段代碼,會引起白屏,具體原因一定要查一查,暫時我不明白爲什麼,希望路過的高手可以解答下

發佈了176 篇原創文章 · 獲贊 28 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章