Intereting Posts

Android – программно создает представление progressBar

Как создать горизонтальный progessBar без XML или как объявить свойства XML без XML contentView?

У меня есть макет в .java-файле, и я хочу установить progressBar в горизонтальное положение и установить его ширину / местоположение.

RelativeLayout fv = new RelativeLayout(this); panel = new Panel(this); fv.addView(panel); ProgressBar pb = new ProgressBar(this); //pb.? - progress bar parameters fv.addView(pb); setContentView(fv); 

О, и это не может быть всплывающее окно. Мне нужен progressBar поверх слоя холста с сенсорным экраном.

Solutions Collecting From Web of "Android – программно создает представление progressBar"

В конструкторе сделайте следующее:

 ProgressBar pb = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal); 

Вы можете заменить нуль на AttributeSet, как правило, вам понадобится один из атрибутов Android AttributSets. Затем вы можете установить его ширину / местоположение, используя стандартные методы просмотра.

Вы можете использовать LevelListDrawable для этого, как показано ниже:

 LevelListDrawable mLevels; mLevels = (LevelListDrawable)getContext().getResources().getDrawable( R.drawable.stat_levels); 

Stat_levels – это xml-файл в drawables, содержащий следующее:

 <?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:maxLevel="0" android:drawable="@drawable/stat_0" /> <item android:maxLevel="10" android:drawable="@drawable/stat_10" /> <item android:maxLevel="20" android:drawable="@:drawable/stat_20" /> <item android:maxLevel="40" android:drawable="@drawable/stat_40" /> <item android:maxLevel="60" android:drawable="@drawable/stat_60" /> <item android:maxLevel="80" android:drawable="@drawable/stat_80" /> <item android:maxLevel="100" android:drawable="@:drawable/stat_100" /> </level-list> 

Stat_0 – stat_100 – это чертежи разных уровней.

Это можно использовать для установки уровня на ваших основаниях: mLevels.setLevel(mLevel);

MLevel может быть maxLevel, т.е. 0, 10, 20, 40, 60, 80, 100.