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