Как добавить начальные отступы в индикатор выполнения с помощью кода Java - PullRequest
0 голосов
/ 26 января 2012

Я хочу добавить начальный отступ в индикатор выполнения, но это будет динамично, так как я получаю это значение для начального заполнения из локальной базы данных.

Я установил фон индикатора выполнения с помощью XML-файла списка слоев. `

    <corners android:radius="7dip" />

    <gradient  
            android:startColor="@color/background_start"  
            android:centerColor="@color/background_center"  
            android:centerY="0.75"  
            android:endColor="@color/background_end"  
            android:angle="270"  />  
     <stroke 
            android:color="@color/stroke"
            android:width="0.5dip"/> 
</shape>


        <corners android:radius="7dip" />
        <gradient  
                android:startColor="@color/secondory_progress_start"  
                android:centerColor="@color/secondory_progress_center"  
                android:centerY="0.75"  
                android:endColor="@color/secondory_progress_end"  
                android:angle="270"  />
           <stroke 
            android:color="@color/stroke"
            android:width="0.5dip"/>  
    </shape> 
 </clip> 


        <corners  
            android:radius="7dip" /> 

         <padding android:left="360dip" 
             android:right="50dip"/>
        <gradient  
                android:startColor="@color/default_progress_start"  
                android:centerColor="@color/default_progress_center"
                android:centerY="0.75"  
                android:endColor="@color/default_progress_end"  
                android:angle="270"  
        />  
         <stroke 
            android:color="@color/stroke"
            android:width="0.5dip"/> 
    </shape> 
   </clip> 

И в коде Java я ссылаюсь на XML-файл, например:

layerDrawable = (LayerDrawable)progressBar.getProgressDrawable();

и получение простого ребенка-прогрессиста следующим образом: Drawable drawable = layerDrawable.getDrawable(layerDrawable.getId(2)); как на втором уровне XML-файла.

И я установил максимальное значение и значение прогресса в индикатор выполнения. Теперь я хочу добавить немного левого отступа к значению прогресса на индикаторе прогресса. который я попытался, используя метод setBounds:

`Rect rect = new Rect ();

rect = drawable.getBounds ();

rect.left = drawable.getBounds (). Left + getPaddingForFirstPeriod () + 300; rect.right = rect.left + (int) 50; drawable.setBounds (Rect); `

Но это не влияет на основное значение прогресса на прогрессбар, и кроме этого для него нет метода заполнения.

Пожалуйста, помогите

1 Ответ

0 голосов
/ 26 января 2012

Старый добрый View.setPadding(l,t,r,b) уже не помогает?

...