2015-06-20 2 views
0

Можно ли изменить горизонтальный неопределенный цвет? На данный момент это стандартный цвет темы.Изменение горизонтального индикатора хода неопределенного цвета

Я хотел бы изменить его на оранжевый?

Я знаю, что мы изменили цвет круга. Я не уверен, чтобы изменить горизонтальный цвет. Попробовал тему, пользовательский индикатор выполнения в drawable и т. Д., Но не смог получить работу.

Вот XML:

<ProgressBar 
    android:id="@+id/status_progress" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="match_parent" 
    android:layout_height="15dp" 
    android:layout_below="@id/status_text" 
    android:indeterminate="true" 
    android:indeterminateOnly="true" /> 

ответ

2
progressBar.getIndeterminateDrawable() 
    .setColorFilter(progressBar.getContext().getResources().getColor(<colorId>), 
     PorterDuff.Mode.SRC_IN); 
+0

мы не можем сделать это в XML? поскольку я использую индикатор выполнения в пользовательской панели уведомлений, поэтому не сможет получить доступ к XML. – TheDevMan

+0

Это работает, но на API 10 вы можете получить цвета, которые не отображаются корректно. Моя полоса хода была зеленой, а на устройстве для пряников индикатор выполнения отображался как сплошной зеленый цвет. Если вы измените это, чтобы использовать .MULTIPLY, вы видите «меняющуюся» панель, но это не точная раскраска путем смешивания цветов. Строка по умолчанию - светло-синий шеврон в моем случае. – Wayne

-1

использовать пользовательские XML Drawable orangePogress.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="#ff9d9e9d" 
       android:centerColor="#ff5a5d5a" 
       android:centerY="0.75" 
       android:endColor="#ff747674" 
       android:angle="270" 
      /> 
     </shape> 
    </clip> 
</item> 
<item 
    android:id="@android:id/progress" 
> 
    <clip> 
     <shape> 
      <corners 
       android:radius="5dip" /> 
      <gradient 
       android:startColor="#FF6600" 
       android:endColor="#FF9933" 
       android:angle="270" /> 
     </shape> 
    </clip> 
</item> 

</layer-list> 

, а затем в вашем ProgressBar

<ProgressBar 
    android:id="@+id/ProgressBar" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:indeterminate="false" 
    android:progressDrawable="@drawable/orangePogress" /> 
+0

Мне нужно неопределенное, чтобы быть правдой. – TheDevMan

+0

вы можете установить его в true – Helmi

+0

Если я сделаю этот цвет, станет черно-белым. – TheDevMan

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