Weist du denn, wie meine erste Progress Bar zum drehen bekomme? Bekomme das einfach nicht hin.
Lg Johannes
Beiträge von orion
-
-
Erstens geht das aber mit anderen Process Bars z.b:
Code
Alles anzeigen<ProgressBar android:id="@+id/bar1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="100pt" android:layout_height="15pt" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.8"
und zweitens will deine Methode nicht, da das erst ab Lollipop geht und die App soll auch mit frueheren Versionen kompatible sein.
-
Hi
Meine Frage:
Wie kann ich mir dynamisch, also prozentgenau einen Fuellstand anzeigen? Also jetzt ohne einfach viele verschiede Bilder anzuzeigen.
MfG Johannes -
Oder wie man bei der Progress Bar die Farbe aendern kann?
Code
Alles anzeigen<ProgressBar android:id="@+id/bar2" style="@android:style/Widget.ProgressBar" android:layout_width="100pt" android:layout_height="15pt" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.914"
Die dreht ich von alleine, aber mit:CodeDrawable progressDrawable1 = bar2.getProgressDrawable().mutate(); progressDrawable1.setColorFilter(Color.RED, android.graphics.PorterDuff.Mode.SRC_IN); bar2.setProgressDrawable(progressDrawable1);
kann ich die Farbe nicht aendern.
-
Ja das geht bei mir auch, aber die will ich nicht, da man da z.b. keine Farbe setzen kann. Meine dreht sich nicht einfach.
-
Ich finde in dieser Dokumentation aber nicht, wie ich die yum drehen kriege. Nur wie ich sie erzeuge.
-
Hallo Zusammen
Ich habe mit folgem Code, mir eine Runde Process Bar erstellt? Wie bekomme ich diese nun zum drehen? Ich weiss das das irgendwie ueber android:progressDrawable funktioniert. Hat sich bei mir aber nie gedreht:(
LG JohannesCode
Alles anzeigen<ProgressBar style="?android:progressBarStyleHorizontal" android:layout_width="150dp" android:layout_height="150dp" android:progress="80" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.495" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.099" />
-
Vielen Dank. Habe es jetzt mit deiner Hilfe geschafft.
Der Thread kann dann jett geschlossen werden.MfG Johannes
-
Das war doch von mir und ich habe ihn zu gemacht.
-
Vielen Dank. Das hat mir schonmal sehr geholfen. Das Problem ist jetzt noch, dass wenn ich dieses Berechnungen vor die for Schleife setze, die Process Bar erst anfaengt, wenn die Berechnungen fertig sind. Genau andersherum wenn ich sie hinter die for Schleife setze. ich moechte aber, dass sie gleichzeitig ablaufen, denn die Berechnung dauer ca. 10 Sekunden.
MfG Johannes
-
Das was hier in der Methode protected void onPreExecute() ausgefuehrt, laesst die App einfrieren, bis sie zuende gerechnet hat. Dann setzt die Processing Bar, aber an der Stelle als waehre sie die ganze Zeit gelaufen.
Java
Alles anzeigenpackage com.example.matrix.threads1; import android.Manifest; import android.content.DialogInterface; import android.content.pm.PackageManager; import android.os.AsyncTask; import android.support.annotation.NonNull; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private ProgressBar bar1; private Button button1; private int STORAGE_PERMISSION_CODE = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bar1 = findViewById(R.id.bar1); button1 = findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED){ new Downlaoder().execute(); double appOutput = Finish.ziel; TextView textview = findViewById(R.id.view); textview.setText(String.valueOf(appOutput)); } else{ requestStoragePermission(); } } }); } class Downlaoder extends AsyncTask<Void, Integer, Integer> { @Override protected void onPreExecute() { super.onPreExecute(); FFT_Finish.absolut(); Read_In.target(); Finish.compute(16000, 90880, FFT_Finish.output); bar1.setMax(100); } @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); bar1.setProgress(values[0]); } @Override protected Integer doInBackground(Void... arg0) { for(int i=0;i<100;i++){ publishProgress(i); try { Thread.sleep(100); } catch (InterruptedException ie){ ie.printStackTrace(); } } return null; } @Override protected void onPostExecute(Integer result) { super.onPostExecute(result); Toast.makeText(getApplicationContext(), "Download Finished", Toast.LENGTH_LONG).show(); } } private void requestStoragePermission(){ if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)){ new AlertDialog.Builder(this).setTitle("Permission needed").setMessage("You must allow the Permission to run the App\n\nAfter this, please enter the Button again").setPositiveButton("ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ActivityCompat.requestPermissions(MainActivity.this, new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, STORAGE_PERMISSION_CODE); } }) .setNegativeButton("cancle", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .create().show(); } else{ ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, STORAGE_PERMISSION_CODE); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if(requestCode == STORAGE_PERMISSION_CODE){ if(grantResults.length>0 && grantResults[0]==PackageManager.PERMISSION_GRANTED){ Toast.makeText(this, "Permission GRANTED", Toast.LENGTH_SHORT).show(); } else{ Toast.makeText(this, "Permission DENIED", Toast.LENGTH_SHORT).show(); } } } }
-
Hallo ihr Lieben
Ich habe folgendes Problem:
Meine App berechnet etwas und ist dabei voll ausgelastet. Sol bleibt auch die Processing Bar stehen. Habt ihr eine Idee wie ich das loesen koennte? Versucht habe ich bisher AsynkTask.Mit freundlichen Gruessen
Johannes -
Okay Vielen Dank fuer die Hilfe, Habe das Problem nun geloest, indem ich es abgefragt habe.
-
Hallo Community
Ich moechte mit RandomAccessFile ein file inlesen(also genau gesagt eine wav). Dies klappt im normalen Java auch sehr gut. Dort mache ich es wie folgt:
RandomAccessFile aFile = new RandomAccessFile("test.wav", "r");
Ich habe versucht in Android als Pfad: Dokumente/test.wave anzugeben. Dies klappt aber nicht. Im Internet gibt es auch leider nichts in bezug auf Android und RandomAccessFile.
Ich moechte die Datei vim Intenen Speicher einlesen und nicht von der SD-Karte.Wuerde mich sehr ueber Ideen oder Code-Schnippsel freuen
Mfg
Johannes