2017-02-21 1 views
0

Ich habe eine ShapeDrawable. Ich möchte den CornerRadius (TopLeftRadius & BottomLeftRadius) programmgesteuert festlegen.So legen Sie TopLeftRadius und BottomLeftRadius für eine GradientDrawable programmgesteuert in Android

Unten ist mein 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> 

Antwort

1

wie dies tun;

float mRadius=3f; 

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

für mehr Details 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> 
Verwandte Themen