Я создаю пользовательский интерфейс из кода и могу успешно добавлять виджеты ProgressBar, однако я не могу изменить размеры виджета на значения, которые мне нужны, он всегда остается по умолчанию (около 50 dp).Я попробовал следующий код:
ProgressBar progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleHorizontal);
progressBar.setMinimumHeight(20);
progressBar.setMinimumWidth(100);
Я также попытался установить ProgressBar LayoutParams, но снова ничего, и я попытался обернуть виджет в другой макет, но все же не удача.1005 * Может кто-нибудь помочь, так как я не вижу, как это сделать?Если есть решение, использующее XML, оно может работать, но я должен установить размер и местоположение во время выполнения.
Для Progress XML я использовал следующее.
<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"
/>
Затемкод для его раздувания заключается в следующем.Это смесь того, что мы обсуждали.
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();