私はプログラムでスクロールバーを生成しており、色を変更するスタイルを定義しているので、私の質問は当然です:スクロールバーのスクロールバースタイルをどのように設定しますか?
ProgressBar progressBar = new ProgressBar(this, null, Android.Resource.Attribute.ProgressBarStyleHorizontal);
// I tried ProgressBar progressBar = new ProgressBar(this, null, Android.Resource.Drawable.myprogressbar); but it doesn't work
progressBar.Progress = 25;
linearLayout.AddView(progressBar);
私のスタイルのパスは、android:attr/progressBarStyleHorizontal
どうすればこれを作成できますか?
XML コード (プログラムで作成する必要があります) は次のとおりです。
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:progressDrawable="@drawable/myprogressbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/progressBar1"
android:progress="50"
android:startColor="#ffffff"
android:endColor="#ff1997e1" />
編集:
置いた:
ProgressBar progressBar = new ProgressBar(this, null, Resource.Drawable.myprogressbar);
しかし、今はアプリにバーが表示されていません:-(
編集:
私もそのコードをテストしましたが、何も表示されません:
var progressBar = new ProgressBar(this, null, Resource.Drawable.myprogressbar)
{
Progress = 25,
LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FillParent, ViewGroup.LayoutParams.WrapContent),
};
linearLayout.AddView(progressBar);
そして、プログレスバーの作成後に次を使用してプログレスドローアブルを設定しようとすると:
progressBar.ProgressDrawable = Resource.Drawable.myprogressbar;
私は持っている:
タイプ 'int' を 'Android.Graphics.Drawables.Drawable' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)
最終編集:
これが私の最後のコードです:
// progressbar with custom style (Resources/Drawable/myprogress.xml)
ProgressBar progressBar = new ProgressBar(this, null, Android.Resource.Attribute.ProgressBarStyleHorizontal)
{LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FillParent, ViewGroup.LayoutParams.WrapContent)};
progressBar.ProgressDrawable = Resources.GetDrawable(Resource.Drawable.myprogressbar);
// Compute for the percent of this usage (to assign it to the progressbar)
progressBar.Progress = 33;
linearLayout.AddView(progressBar);