Endlich! Ich bin auf eine Mission gegangen, um das herauszufinden, also wenn das ausreicht, kannst du mir diese Prämie geben, haha.
Versuchen Sie dies in Ihrem Layout mit:
<View android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight=".20"/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:orientation="horizontal"
android:gravity="center"
android:layout_weight="0.62">
<View android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight=".03"/>
<ProgressBar style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="0.94"
android:progressDrawable="@drawable/progressmask"
android:progress="0"
android:max="10"
android:rotation="180"/>
<View android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight=".03"/>
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight=".18"/>
</LinearLayout>
die dieses ziehbar verweist (progressmask.xml):
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="50dip" />
<gradient android:startColor="#00000000" android:endColor="#00000000" android:angle="270" />
<stroke android:width="1dp" android:color="#00000000" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="50dip" />
<gradient android:startColor="#aa000000" android:endColor="#aa000000"
android:angle="270" />
<stroke android:width="1dp" android:color="#00000000" />
</shape>
</clip>
</item>
</layer-list>
und dieses Bild (colorprogress.png)
Was sie tut, ist das Bild als Hintergrund eines Linearlayout festgelegt, die eine progressbar enthält. Die Fortschrittsanzeige fügt dem Bild eine halbtransparente schwarze Maske hinzu, damit die Lichter ausgeschaltet werden.
HINWEIS: Um diesen Effekt zu bekommen, musste ich mit dem Fortschrittsbalken umgehen (dh es umdrehen, und es auf nur 10 Intervalle setzen. Sie müssen etwas Mathe tun, um den Fortschritt in Einklang zu bringen mit dem image ie setprogress ((100-trueprogress)/10) Sorry, ich habe diesen Teil nicht für dich gemacht
So wird es im Verlauf 50% aussehen (die kleinen x und Dreiecke verschwinden auf dem Gerät))
ich hoffe, dass dies Ihre Frage beantwortet!
für das sollten Sie 9 Patch-Image erstellen. – TheFlash
Meiner Meinung nach ist es besser, eine benutzerdefinierte ProgressBar zu erstellen und je nach Fortschritt verschiedene Bilder/Farben einzustellen. – hardartcore
sehen, ob dies helfen könnte http://miroprocessordev.blogspot.in/2012/09/android-how-to-change-progress-bar.html – Android