как изменить android толщину индикатора выполнения - PullRequest
0 голосов
/ 08 мая 2020

это должно быть очень легко настроить стиль ...

Я хочу, чтобы горизонтальный индикатор выполнения был слегка толстым (или чтобы я мог настроить толщину), а цвет соответствовал цвету приложения

если я делаю

<ProgressBar
    android:id="@+id/progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="300dp"
    android:layout_height="wrap_content"
    android:layout_below="@id/textLoading"
    android:layout_centerHorizontal="true"
    android:indeterminate="true"
     />

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

если я do

<ProgressBar
        android:id="@+id/progressBar"
        style="android:Widget.ProgressBar.Horizontal"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/textLoading"
        android:layout_centerHorizontal="true"
        android:indeterminate="true"
         />

индикатор выполнения имеет хорошую толщину, но цвет - тупо-желтый, который ничему не соответствует в этой таблице nnet

как я могу настроить отдельные параметры ???

Ответы [ 3 ]

1 голос
/ 08 мая 2020

есть много способов достичь того, что вам нужно:

1- используйте android:scaleY="8" в вашем XML файле

или из кода

mProgressBar.setScaleY ( 3f);

2- style="@android:style/Widget.ProgressBar.Horizontal" это сделает у вас горизонтальный индикатор выполнения, поэтому вы можете наследовать его в стилях и редактировать следующим образом:

<style name="CustomProgressBarHorizontal" parent="android:Widget.ProgressBar.Horizontal">
      <item name="android:progressDrawable">@drawable/custom_progress_bar_horizontal</item>
      <item name="android:minHeight">10dp</item>
      <item name="android:maxHeight">20dp</item>
</style>
0 голосов
/ 03 июня 2020

Вы можете настроить стиль с помощью:

<ProgressBar
    android:id="@+id/progressBar"
    android:indeterminate="true"
    style="@style/CustomProgressBar"

с помощью:

<style name="CustomProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
      <item name="minHeight">32dip</item>  <!-- default 16dp -->
      <item name="maxHeight">32dip</item>  <!-- default 16dp -->
</style>

Если вы хотите настроить цвет, используйте:

<ProgressBar
    style="@style/CustomProgressBar"
    android:indeterminate="true"
    android:theme="@style/CustomProgressBarTheme"
    />

с помощью:

  <style name="CustomProgressBarTheme">
    <item name="colorControlActivated">@color/....</item>
  </style>

enter image description here

0 голосов
/ 08 мая 2020

Вот пример индикатора выполнения:

 <ProgressBar
        android:id="@+id/progressBar"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:progressDrawable="@drawable/my_progressbar" />

и вот my_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"
    android:gravity="center_vertical|fill_horizontal">
    <shape android:shape="rectangle">
        <corners android:radius="10dp"/>
        <size android:height="20dp"/>
        <solid android:color="@color/blue"/>
    </shape>
</item>
<item
    android:id="@android:id/progress"
    android:gravity="center_vertical|fill_horizontal">
    <scale android:scaleWidth="100%">
        <shape android:shape="rectangle">
            <corners
                android:radius="10dp"
                />
            <size android:height="20dp"/>
            <solid android:color="@color/yellow"/>
        </shape>
    </scale>
</item>
</layer-list>

Вот пример того, как он выглядит: enter image description here

...