2014-02-25 10 views
5

Ich möchte diese Art von Ausgabe erhalten. Ich benutze benutzerdefinierte rangeseekbar. (Referenz von this link)Benutzerdefinierte rangeseekbar android mit einem Daumen

Ich habe diese Ausgabe.

enter image description here

Aber ich möchte diese Art der Ausgabe erhalten ..

enter image description here

Gelb Farbauswahl ist eine Art von Bereich seekbar.I benutzerdefinierten Bereich seekbar erstellen möchten, so wenden Sie sich bitte helfen mich. Ich habe bereits zwei Daumen Rändeseekbar erstellt, aber ich möchte Einzelbildanzeige rangeseekbar erstellen und es sollte streichbar sein.

Vielen Dank im Voraus.

+0

Können Sie genauer sein? Möchten Sie, dass die Reichweite eine feste Länge hat? –

Antwort

0

Diese bestimmte Bibliothek hat sehr spezifischen Zeichencode für das Holo Thema Seekbar. Sie müssen Ihren eigenen Zeichnungscode implementieren, um den von Ihnen gewünschten Effekt zu erzielen.

Der Code aus der Bibliothek kann Ihnen den Einstieg erleichtern;

/** 
    * Draws the widget on the given canvas. 
    */ 
    @Override 
    protected synchronized void onDraw(Canvas canvas) { 
      super.onDraw(canvas); 

      // draw seek bar background line 
      final RectF rect = new RectF(padding, 0.5f * (getHeight() - lineHeight), getWidth() - padding, 0.5f * (getHeight() + lineHeight)); 
      paint.setStyle(Style.FILL); 
      paint.setColor(Color.GRAY); 
      paint.setAntiAlias(true); 
      canvas.drawRect(rect, paint); 

      // draw seek bar active range line 
      rect.left = normalizedToScreen(normalizedMinValue); 
      rect.right = normalizedToScreen(normalizedMaxValue); 

      // orange color 
      paint.setColor(DEFAULT_COLOR); 
      canvas.drawRect(rect, paint); 

      // draw minimum thumb 
      drawThumb(normalizedToScreen(normalizedMinValue), Thumb.MIN.equals(pressedThumb), canvas); 

      // draw maximum thumb 
      drawThumb(normalizedToScreen(normalizedMaxValue), Thumb.MAX.equals(pressedThumb), canvas); 
    } 

Was Sie hier sehen, ist die OnDraw Rückruf in der RangeSeekBar Klasse. Hier werden die blauen und grauen Linien gezeichnet, danach werden die Daumen darüber gezogen. Sie müssen etwas Ähnliches tun, aber mit Ihrer spezifischen Logik, Grafik etc.

Also entweder Unterklasse RangeSeekBar und erweitern Sie die Funktionalität dieser Bibliothek oder erstellen Sie Ihre eigene benutzerdefinierte Ansicht oder ViewGroup, die Hinweise aus den offiziellen Android-Lektionen folgen; http://developer.android.com/training/custom-views/index.html

Verwandte Themen