


Android-UI-Steuerelementserie: ProgressBar (Fortschrittsbalken)
Wenn Android einige Hintergrundvorgänge ausführt, z. B. das Laden von Spielen und das Abspielen von Liedern, kennt der Benutzer den Fortschritt der Programmausführung nicht. Zu diesem Zeitpunkt kann der Fortschrittsbalken verwendet werden, um den Fortschritt anzuzeigen.
Das Android-System bietet zwei Arten von Fortschrittsbalken, den langen Fortschrittsbalken (progressBarStyleHorizontal) und den kreisförmigen Fortschrittsbalken (progressBarStyleLarge). Der Standard-Fortschrittsbalken auf der Android-Plattform ist der zweite Typ. Darüber hinaus können Sie auch einen Fortschrittsbalken in der Titelleiste des Formulars festlegen. Dazu müssen Sie den Anzeigestil des Formulars „requestWindowFeature(Window.FEATURE_PROGRESS)“ festlegen setProgressBarVisibility(true); Methode zur Anzeige
Das Folgende ist ein Beispiel, das aus einem Titelleisten-Fortschrittsbalken, einem langen Fortschrittsbalken und einem kreisförmigen Fortschrittsbalken besteht und von Threads gesteuert wird.
Hinweis: Der kreisförmige Fortschrittsbalken zeigt keinen spezifischen Fortschritt an, sondern dreht sich einfach
package org.hualang.progress; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.ProgressBar; public class ProgressBarTest extends Activity { //声明ProgressBar对象 private ProgressBar pro1; private ProgressBar pro2; private Button btn; protected static final int STOP_NOTIFIER = 000; protected static final int THREADING_NOTIFIER = 111; public int intCounter=0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置窗口模式,,因为需要显示进度条在标题栏 requestWindowFeature(Window.FEATURE_PROGRESS); //设置标题栏上的进度条可见 setProgressBarVisibility(true); setContentView(R.layout.main); //取得ProgressBar pro1 = (ProgressBar) findViewById(R.id.progress1); pro2= (ProgressBar) findViewById(R.id.progress2); btn = (Button)findViewById(R.id.button); //设置进度条是否自动运转,即设置其不确定模式,false表是不自动运转 pro1.setIndeterminate(false); pro2.setIndeterminate(false); //当按钮按下时开始执行, btn.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //设置ProgressBar为可见状态 pro1.setVisibility(View.VISIBLE); pro2.setVisibility(View.VISIBLE); //设置ProgressBar的最大值 pro1.setMax(100); //设置ProgressBar当前值 pro1.setProgress(0); pro2.setProgress(0); //通过线程来改变ProgressBar的值 new Thread(new Runnable() { public void run() { for (int i = 0; i < 10; i++) { try { intCounter = (i + 1) * 20; Thread.sleep(1000); if (i == 4) { Message m = new Message(); m.what = ProgressBarTest.STOP_NOTIFIER; ProgressBarTest.this.myMessageHandler.sendMessage(m); break; } else { Message m = new Message(); m.what = ProgressBarTest.THREADING_NOTIFIER; ProgressBarTest.this.myMessageHandler.sendMessage(m); } } catch (Exception e) { e.printStackTrace(); } } } }).start(); } }); } Handler myMessageHandler = new Handler() { // @Override public void handleMessage(Message msg) { switch (msg.what) { //ProgressBar已经是对大值 case ProgressBarTest.STOP_NOTIFIER: pro1.setVisibility(View.GONE); pro2.setVisibility(View.GONE); Thread.currentThread().interrupt(); break; case ProgressBarTest.THREADING_NOTIFIER: if (!Thread.currentThread().isInterrupted()) { // 改变ProgressBar的当前值 pro1.setProgress(intCounter); pro2.setProgress(intCounter); // 设置标题栏中前景的一个进度条进度值 setProgress(intCounter*100); // 设置标题栏中后面的一个进度条进度值 setSecondaryProgress(intCounter*100);// } break; } super.handleMessage(msg); } }; }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="进度条实例演示" /> <ProgressBar android:id="@+id/progress1" style="?android:attr/progressBarStyleHorizontal"---设置进度条为长条形 android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone"---设置其不可见 /> <ProgressBar android:id="@+id/progress2" style="?android:attr/progressBarStyleLarge"---设置进度条为圆形进度条 android:layout_width="wrap_content" android:layout_height="wrap_content" android:max="100"---设置其最大值 android:progress="50"---设置当前进度值 android:secondaryProgress="70"---设置次要进度值 android:visibility="gone" /> <Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="启动进度条" /> </LinearLayout>
Die laufenden Ergebnisse sind wie folgt folgt:
Nachdem Sie auf die Schaltfläche „Fortschrittsbalken starten“ geklickt haben, wird der Fortschrittsbalken automatisch ausgeführt
Wenn es beendet ist, wird das Fortschrittsbalkenprogramm automatisch beendet und zum ersten Bild zurückgekehrt
Das Obige ist der Inhalt der Android-UI-Steuerungsserie: ProgressBar (Fortschrittsbalken). Bitte achten Sie auf die chinesische PHP-Website (www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In den letzten Tagen hat Ice Universe immer wieder Details zum Galaxy S25 Ultra enthüllt, von dem allgemein angenommen wird, dass es das nächste Flaggschiff-Smartphone von Samsung ist. Der Leaker behauptete unter anderem, Samsung plane nur ein Kamera-Upgrade

OnLeaks hat sich nun mit Android Headlines zusammengetan, um einen ersten Blick auf das Galaxy S25 Ultra zu werfen, nur wenige Tage nach dem gescheiterten Versuch, mehr als 4.000 US-Dollar von seinen X-Followern (ehemals Twitter) zu generieren. Für den Kontext sind die unten eingebetteten Renderbilder h

Neben der Ankündigung zweier neuer Smartphones hat TCL auch ein neues Android-Tablet namens NXTPAPER 14 angekündigt, dessen riesige Bildschirmgröße eines seiner Verkaufsargumente ist. Das NXTPAPER 14 verfügt über Version 3.0 der matten LCD-Panels der Signaturmarke von TCL

In den letzten Tagen hat Ice Universe immer wieder Details zum Galaxy S25 Ultra enthüllt, von dem allgemein angenommen wird, dass es das nächste Flaggschiff-Smartphone von Samsung ist. Der Leaker behauptete unter anderem, Samsung plane nur ein Kamera-Upgrade

Das Vivo Y300 Pro wurde gerade vollständig vorgestellt und ist eines der schlanksten Mittelklasse-Android-Telefone mit einem großen Akku. Genauer gesagt ist das Smartphone nur 7,69 mm dick, verfügt aber über einen 6.500 mAh starken Akku. Dies ist die gleiche Kapazität wie bei der kürzlich eingeführten Version

Motorola hat dieses Jahr unzählige Geräte herausgebracht, obwohl nur zwei davon faltbar sind. Zum Vergleich: Während der Großteil der Welt das Paar als Razr 50 und Razr 50 Ultra erhalten hat, bietet Motorola sie in Nordamerika als Razr 2024 und Razr 2 an

Samsung hat noch keine Hinweise darauf gegeben, wann es seine Smartphone-Serie Fan Edition (FE) aktualisieren wird. Derzeit ist das Galaxy S23 FE nach wie vor die jüngste Ausgabe des Unternehmens und wurde Anfang Oktober 2023 vorgestellt

Das Redmi Note 14 Pro Plus ist nun offiziell als direkter Nachfolger des letztjährigen Redmi Note 13 Pro Plus (aktuell 375 $ bei Amazon) erhältlich. Wie erwartet steht das Redmi Note 14 Pro Plus neben dem Redmi Note 14 und dem Redmi Note 14 Pro an der Spitze der Redmi Note 14-Serie. Li
