2015-01-25 3 views
2

Есть ли способ изменить цвет ProgressBar, находящийся в виджетах приложения во время выполнения?Как изменить цвет ProgressBar в виджетах?

Это как обновляется значение ProgressBar прогресса:

RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); 
views.setProgressBar(R.id.progressbar, 100, 10, false); 
... 
appWidgetManager.updateAppWidget(widgetID, views); 

К сожалению, RemoteViews класса не позволяет установить цветовой фильтр или даже другой прогресс вытяжку для ProgressBar.

Любые идеи будут оценены.

ответ

0

Добавьте эту строку в XML ProgressBar:

android:progressDrawable="@drawable/progressbar" 

А теперь Создайте progressbar.xml вытяжке:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@android:id/background"> 
    <shape> 
     <corners android:radius="5dip" /> 
     <gradient 
       android:startColor="#ff9d9e9d" 
       android:centerColor="#ff5a5d5a" 
       android:centerY="0.75" 
       android:endColor="#ff747674" 
       android:angle="270" 
     /> 
    </shape> 
</item> 

<item android:id="@android:id/secondaryProgress"> 
    <clip> 
     <shape> 
      <corners android:radius="5dip" /> 
      <gradient 
        android:startColor="#80ffd300" 
        android:centerColor="#80ffb600" 
        android:centerY="0.75" 
        android:endColor="#a0ffcb00" 
        android:angle="270" 
      /> 
     </shape> 
    </clip> 
</item> 
<item 
    android:id="@android:id/progress" 
> 
    <clip> 
     <shape> 
      <corners 
       android:radius="5dip" /> 
      <gradient 
       android:startColor="#33FF33" 
       android:endColor="#008000" 
       android:angle="270" /> 
     </shape> 
    </clip> 
</item> 

</layer-list> 

ссылка см: Android change Horizonal Progress bar color

+0

Спасибо, но мне нужно обновить это во время выполнения (в коде Java, а не в XML) – davee44

+0

, поэтому используйте эту функцию: .setProgressDrawable (newSeekBarBackground); ссылка: http://stackoverflow.com/questions/2280822/how-to-use-setprogressdrawable-correctly – RonM

+0

для виджета? дайте мне знать, знаете ли вы, как – davee44

Смежные вопросы