Gibt es eine Möglichkeit, die Hintergrundleiste Bild in der SeekBar Android Widget entfernen?Android Remove SeekBar Hintergrund
Ich möchte nur einen Schieberegler ohne Fortschrittsbalken dahinter anzeigen.
Jede Hilfe?
Gibt es eine Möglichkeit, die Hintergrundleiste Bild in der SeekBar Android Widget entfernen?Android Remove SeekBar Hintergrund
Ich möchte nur einen Schieberegler ohne Fortschrittsbalken dahinter anzeigen.
Jede Hilfe?
Nun, ich löste mein eigenes Problem.
den Hintergrund zu entfernen, müssen Sie eine leere ziehbar erstellen und an die progressDrawable gesetzt:
satBar.setProgressDrawable(invisibleBackground);
es auf null Einstellung nicht zu funktionieren scheint.
Haben Sie versucht setBackgroundDrawable(null)
?
Eine Möglichkeit, dies zu tun, wäre, die Farbe des Fortschrittsbalkens in die Hintergrundfarbe zu ändern. Sie müssen ein benutzerdefiniertes Layout verwenden.
<SeekBar
android:layout_width="350px"
android:layout_height="25px"
android:layout_margin="30px"
android:layout_x="60px"
android:layout_y="185px"
android:id="@+id/seekbar"
android:progressDrawable="@drawable/myprogress"
/>
Eine benutzerdefinierte Layout wird unten gegeben - mit den Farben zu spielen, um:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item
android:id="@android:id/progress"
>
<clip>
<shape>
<corners
android:radius="5dip" />
<gradient
android:startColor="#9191FE"
android:centerColor="#9191FE"
android:centerY="0.75"
android:endColor="#9191FE"
android:angle="270" />
</shape>
</clip>
</item>
es eine einfachere Möglichkeit ist, die benötigt keinen neuen ziehbar zu schaffen. Stellen Sie einfach die folgenden in Ihrer XML-Definition
android:progressDrawable="@android:color/transparent"
Oder wenn Sie es in Ihrem Code zu tun:
mySlider.setProgressDrawable(new ColorDrawable(android.R.color.transparent));
Bessere Lösung als @GuyNoir Lösung darüber, dass ein künstliches "unsichtbares Zeichen" erstellt werden muss – Guy
Nur eine Anmerkung: Sie können # 0000 nicht verwenden, aber @android: color/transparent funktioniert. – sidon
Aber dies entfernt die horizontale Linie auch auf Holo-Light-Thema. Ich möchte das behalten. – lalitm
eine XML-Datei seekbar_progress.xml
erstellen und legen Sie sie in drawable
folder.Here Streifen ist ein Bild, nehmen Sie ein Bild und legen Sie es in drawable
Ordner.
seekbar_progress.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<clip>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/stripes"
android:tileMode="repeat"
android:antialias="true"
android:dither="true"
android:filter="false"
android:gravity="left"
/>
</clip>
</item>
</layer-list>
Jetzt in Ihrem main xml
-Datei, die seekbar Code mit, nehmen Sie ein Bild und speichern Sie in drawable
folder.here seekbar ist ein Bild.
<SeekBar
android:id="@+id/seekbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/seekbar"
android:progressDrawable="@drawable/seekbar_progress"/>
Ich habe. Der Hintergrund, der gezeichnet werden kann, ist tatsächlich hinter der Bar selbst. Ich brauche eine Möglichkeit, die Leiste zu löschen (und auch das Bild des Schiebereglers zu ändern) – GuyNoir
und wie kann ich danach auf die Initiale wiederhergestellt werden? tks – Paul
@Paul: Versuchen Sie zuerst 'getBackground()' aufzurufen, speichern Sie das Ergebnis irgendwo und stellen Sie es später mit 'setBackgroundDrawable()' wieder her. Trotz der nicht-parallelen Namen gibt 'getBackground()' ein 'Drawable' zurück. – CommonsWare