2017-02-21 4 views
0

私はShapeDrawableを持っています。私はCornerRadius(TopLeftRadius & BottomLeftRadius)をプログラムで設定したいと思います。以下は GradientDrawableのTopLeftRadiusとBottomLeftRadiusをプログラムでAndroidで設定する方法

は私のxmlです

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

<item android:top="5dp" 
    android:bottom="5dp"> 

    <shape android:shape="rectangle"> 
     <corners android:topLeftRadius="20dp" 
      android:bottomLeftRadius="20dp"/> 

     <solid android:color="#A2D368"/> 
    </shape> 
</item> 
</layer-list> 

答えて

1

次のように行います。詳細は

float mRadius=3f; 

    GradientDrawable drawable=new GradientDrawable(); 
    drawable.setShape(GradientDrawable.RECTANGLE); 
    drawable.setCornerRadii(new float[]{mRadius, mRadius, 0, 0, 0, 0, mRadius, mRadius}); 

click here

0
<shape android:shape="rectangle"> 
    <corners 
     android:topLeftRadius="@dimen/button_radius" 
     android:topRightRadius="0dp" 
     android:bottomLeftRadius="0dp" 
     android:bottomRightRadius="@dimen/button_radius"/> 
    <stroke 
     android:width="@dimen/button_stroke_width" 
     android:color="@color/colorBlack"/> 
    <gradient 
     android:angle="-90" 
     android:startColor="@color/colorLightPurple" 
     android:endColor="@color/colorDeepPurple" /> 
    </shape> 
関連する問題