/ / Android: MaxHeight Parameter programmatisch für ProgressBar / SeekBar - Android, Ansicht, Fortschrittsbalken, Suchleiste

Android: Einstellen des Parameters maxHeight programmgesteuert für ProgressBar / SeekBar - Android, Ansicht, Fortschrittsbalken, Suchleiste

Man kann eine SeekBar in XML wie folgt erstellen ...

<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"
...

Jetzt möchte ich das programmatisch machen seit ichmuss MaxHeight basierend auf der Bildschirmauflösung anpassen (ja, ich weiß, dass man das nicht tun sollte, aber ich habe meine gültigen Gründe dafür.) Ich habe keine Probleme mit der programmatischen Einstellung der Parameter, außer dass ich nicht herausfinden kann, wie ich es einstellen soll maximale Höhe. Ich habe das Gefühl, dass ich Attribute verwenden muss, aber ich konnte nicht genau herausfinden, wie.

Antworten:

4 für die Antwort № 1

Es ist nicht direkt möglich. SeekBar (eigentlich ProgressBar, welches SeekBar erweitert) bekommt maxHeight nur aus XML-Layoutattributen, da gibt es keine entsprechende Methode.

Außerdem erhöht ProgressBar seine maxHeight im Aufruf von setProgressDrawable so, dass sie mindestens die Höhe des Zeichenobjekts hat. Sie können dies nutzen.

Eine weitere Möglichkeit besteht darin, SeekBar zu erweitern und eine eigene onMeasure-Methode bereitzustellen. Dies ist tatsächlich, wo maxHeight verwendet wird. Sie können dann Ihre erweiterte SeekBar im XML-Layout verwenden.