/ / Android:ProgressBar / SeekBarのプログラムでmaxHeightパラメータを設定する - android、view、progress-bar、seekbar

Android:ProgressBar / SeekBarのプログラムでmaxHeightパラメータを設定する - Android、ビュー、プログレスバー、シークバー

次のようにXMLでSeekBarを作成できます...

<SeekBar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/bpseekbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:max="100"
android:maxHeight="8dp"
...

今私はプログラム的にこれをやりたいのです。スクリーン解像度に基づいてmaxHeightを調整する必要があります(はい、私はそれを行うべきではないが、私はこれに有効な理由があります)。プログラムを使ってパラメータを設定することに問題はありません。 maxHeight。私はAttributesを使う必要があるように感じますが、正確にどのように見つけられませんでした。

回答:

回答№1は4

直接可能ではありませんSeekBar(実際にSeekBarが拡張するProgressBar)はXMLレイアウト属性からのみmaxHeightを取得しますが、対応するメソッドはありません。

さらに、ProgressBarは、少なくとも描画可能な高さになるように、setProgressDrawableの呼び出しでmaxHeightを増加させます。これを利用することができます。

もう一つの可能​​性は、SeekBarを拡張し、独自のonMeasureメソッドを提供することです。これは実際にmaxHeightが使用される場所です。拡張されたSeekBarをxmlレイアウトで使用することができます。