tutorial style progressbar onprogresschanged android android-support-library seekbar

style - Android SeekBar no puede ser de ancho completo ni siquiera configurar el relleno 0 en AppCompat 23.1.0



seekbar set value (4)

cuando actualizo el soporte para Android lib 23.0.1 a 23.1.0, encuentro que SeekBar ya no es de ancho completo.

Este es el archivo XML de prueba:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="@drawable/space_divider" android:orientation="vertical" android:padding="8dp" android:showDividers="middle"> <View android:layout_width="match_parent" android:layout_height="20dp" android:background="@android:color/black"/> <!-- default SeekBar --> <SeekBar android:layout_width="match_parent" android:layout_height="10dp" android:progress="50" android:progressTint="@android:color/holo_red_dark"/> <!-- padding=0 --> <SeekBar android:layout_width="match_parent" android:layout_height="10dp" android:padding="0dp" android:progress="50" android:progressTint="@android:color/holo_red_dark"/> <!-- padding=40 --> <SeekBar android:layout_width="match_parent" android:layout_height="10dp" android:padding="40dp" android:progress="50" android:progressTint="@android:color/holo_red_dark"/> <android.support.v7.widget.AppCompatSeekBar android:layout_width="match_parent" android:layout_height="10dp" android:padding="0dp" android:progress="50"/> </LinearLayout>

Funciona bien bajo la versión de soporte 23.0.1, como en la siguiente captura de pantalla. SeekBar tiene un relleno predeterminado, cuando configuro el relleno = 0 manual, puede ser de ancho completo. y AppCompatSeekBar no existe todavía.

pero bajo la versión de soporte 23.1.0, ya sea que establezca la cantidad de relleno, SeekBar y AppCompatSeekBar no tienen ningún cambio, como la siguiente captura de pantalla.

Entonces, ¿es este el error de la biblioteca de soporte, cualquier organismo resuelve este problema y cómo resolverlo?

gracias ~!

actualizar:
Me confundió totalmente, solo tengo otra prueba, creo un nuevo proyecto, ya sea que use AppCompat 23.0.1 o 23.1.0, SeekBar tampoco puede ser de ancho completo después de establecer padding = 0, (compileSdkVersion es 23, buildToolsVersion es " 23.0.1 ", targetSdkVersion es 23). de todos modos, quiero saber cómo hacer que el ancho completo de SeekBar cuando set padding = 0 no funcione.

el build.gradle:

apply plugin: ''com.android.application'' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.test.seekbar" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } } } dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) testCompile ''junit:junit:4.12'' compile ''com.android.support:appcompat-v7:23.0.1'' }


Como mencionó Didac, puede establecer el relleno en 0 en xml.

Pero asegúrese de establecer el relleno después de establecer progressTint o progressDrawable .

Tuve un problema similar (donde estaba configurando progressDrawable). Una vez que establezca el relleno en 0 después de configurar el progressDrawable , el relleno de la seekbar ha ido


Establecer estos atributos en XML

android:paddingStart="0dp"


Finalmente, solo tengo un pensamiento repentino. ¿Por qué no intentar modificarlo por código java. ¡Funciona! A continuación se muestra el código de ejemplo:

protected void initViews(Context context) { LayoutInflater.from(context).inflate(getLayoutResId(), this); ButterKnife.bind(this); // set style, just once seekBar.setProgress(0); seekBar.setMax(0); seekBar.setPadding(0, 0, 0, 0); // ... }


Intente agregar los parámetros "PadingStart" y "PaddingEnd" a 0dp en el archivo xml. Si su aplicación es compatible con Rtl, deberá agregarlas para visualizar la barra de búsqueda sin relleno. De lo contrario, se mostrará con el relleno incluso si se usa en un idioma Ltr.

Espero eso ayude. Saludos