2016-02-11 1 views
1

Я новичок в андроид i'am создания приложения, где я включать в себя форму кольца внутри одного макета для этого я использую следующий код:Ring Drawable на предварительно 5,1 андроида

Display display = getWindowManager().getDefaultDisplay(); 
       Point size = new Point(); 
       display.getSize(size); 
       int width = size.x; 
       int height = size.y; 


       Log.e("(width/2)-70", (width/2)-70+"%%%"); 
       RingDrawable ring = new RingDrawable(0,(width/2)-70 , 0, 0); 
       ring.setColor(Color.parseColor("#0f000000")); 

       backgroundSpeaker.setBackground(ring); 
      // backgroundSpeaker.setAnimation(zoom); 
       backgroundSpeaker.invalidate(); 
       speaker_layout.invalidate(); 

выше код работает отлично, но проблема заключается в том, что это работает только ниже 5.1.i'am не может получить какую-либо форму кольца, которая в версии выше 5.1. Что пошло не так, код необходимо изменить, пожалуйста, помогите !! Спасибо заранее

ответ

0

Чтобы создать форму кольца для старых версий Android, вы можете определить прозрачный круг с цветным штрихом. Кольцо сам ход:

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

<solid android:color="@color/transparent"/> 
<stroke android:color="#fff" android:width="5dp" /> 

или XML-менее путь:

GradientDrawable shape = new GradientDrawable(); 
shape.setColor(Color.Transparent); 
shape.setStroke(20, Color.White); 
+0

это должно работать –

+0

Привет shayan, но мне нужно динамически менять ширину. – swatz

+0

Во-первых, я следил за этим «http://stackoverflow.com/questions/34437654/change-thickness-programmatically», но я хочу установить толщину программно, поэтому я следовал выше упомянутого кода. – swatz

0

Попробуйте использовать этот один из здесь: https://github.com/MinaSamy/DailySelfie/blob/master/app/src/main/res/drawable/progress_drawable.xml

<?xml version="1.0" encoding="utf-8"?> 
<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="100" 
    android:fromDegrees="0" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:toDegrees="360" > 

    <shape 
     android:innerRadius="20dp" 
     android:shape="ring" 
     android:thickness="4dp" 
     android:useLevel="false" > 
     <size 
      android:height="48dp" 
      android:width="48dp" /> 

     <gradient 
      android:centerColor="@color/colorAccent" 
      android:centerY="0.5" 
      android:endColor="#00FFFFFF" 
      android:startColor="@color/colorPrimaryDark" 
      android:type="sweep" 
      android:useLevel="false" /> 
    </shape> 

</rotate> 
Смежные вопросы