Estoy construyendo una interfaz de usuario desde el código y puedo agregar widgets ProgressBar, pero no puedo modificar las dimensiones del widget a los valores que necesito, siempre permanece en el tamaño predeterminado (alrededor 50dp). He intentado el siguiente código;Cambie el ancho de una ProgressBar agregada en tiempo de ejecución
ProgressBar progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleHorizontal);
progressBar.setMinimumHeight(20);
progressBar.setMinimumWidth(100);
También he intentado establecer las LayoutParams Progressbar pero de nuevo nada y he tratado de envolver el widget en otra disposición, pero todavía no suerte.
¿Alguien puede ayudar, ya que no puedo ver cómo hacerlo? Si hay una solución que utiliza XML podría funcionar, pero tengo que establecer la dimensión y la ubicación en tiempo de ejecución.
Para Progress XML He utilizado lo siguiente.
<ProgressBar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="10dp"
android:indeterminateOnly="false"
android:progressDrawable="@android:drawable/progress_horizontal"
android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"
android:maxWidth="1000dp"
/>
A continuación, el código para inflarlo es el siguiente. Esta es una mezcla de lo que hemos estado discutiendo.
LayoutInflater layoutInflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ProgressBar progressBar = (ProgressBar)layoutInflater.inflate(R.layout.progress_bar, null);
progressBar.setMinimumHeight(10);
progressBar.setMinimumWidth(200);
progressBar.setLayoutParams(new RelativeLayout.LayoutParams(200, 10);
progressBar.setMax(100);
progressBar.setProgress(getScrollBarValue());
progressBar.setIndeterminate(isIndeterminate());
progressBar.getLayoutParams().width = 200;
progressBar.invalidate();
Supongo que una solución sería copiar el código fuente del widget e implementar los métodos que faltan. Parece una solución loca, debe haber una manera de hacer esto. – Snowwire
Solo para confirmar: ¿está buscando los estilos de barra, no los estilos de girador? Probablemente sea suficiente para averiguar dónde están definidos los estilos/formas y para copiarlos y ajustarlos. – sstn