Bild ist nicht die Einstellung in der Bildansicht mit setImageURI()
Erstellen Sie Ihre eigene Kamera, wie ich ' need Fokus AUF für die Aufnahme von Bild. Kamera funktioniert perfekt, wie erwartet, in Ordnung. Vorbei URI
zwischen Aktivitäten.
Habe ich Bildansicht im Nächsten Bildschirm, die ich verwendet, um das Bild mit
imgView.setImageURI(absPathUri);
Überprüft, dass absPathUri
ist nicht null. Noch ImagView ist leer, ohne Bilder. Das gleiche tun im debug-Modus bringt das Bild in Bildansicht.
Kann jemand bitte sagen, wo ich falsch mache?
Auch senden broadcast, um re-scan des Geräts, aber immer noch kein Erfolg mit dem folgenden snippet.
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(absPathUri.getPath());
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
Verwendet Unten snippet zu generieren absPathUri
if (Environment.MEDIA_MOUNTED.equals(state))
{
imageDirectory = new File(AppConstants.IMAGE_DIRECTORY_PATH);
}
else
{
imageDirectory = new File(AppConstants.IMAGE_DIRECTORY_PATH_DATA);
}
imageDirectory.mkdirs();
File tempFile = new File(imageDirectory, getVideoName()+ jpg);
Uri outputFileUri = Uri.fromFile( tempFile );
absPathUri = outputFileUri;
public static String getVideoName()
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
try {
name = sdf.format(new Date(System.currentTimeMillis()));
} catch (Exception e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
return name;
}
Unten ist das Layout, das ich verwendet, um die Bildansicht in xml.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/bg"
>
<ImageView
android:id="@+id/picView"
android:layout_above="@+id/buttonPanel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="center"
android:src="@drawable/accounts_glyph_password_default"
/>
<LinearLayout
android:id="@id/buttonPanel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onDiscard"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:text="@string/save"
android:onClick="onSave"
android:textColor="#ffffff" />
</LinearLayout>
</RelativeLayout>
Können Sie pls mir sagen, wie du das Objekt erstellen absPathUri
bearbeitet die OP, was Sie fordert. Aber warum funktioniert es im debug-Modus.
Laut der Dokumentation Lesen, große Bilder mit setImageURI wird nicht empfohlen, da die gesamte Verarbeitung geschieht im UI-thread (Lesen/Dekodieren/Rendern) developer.android.com/reference/android/widget/...
bearbeitet die OP, was Sie fordert. Aber warum funktioniert es im debug-Modus.
Laut der Dokumentation Lesen, große Bilder mit setImageURI wird nicht empfohlen, da die gesamte Verarbeitung geschieht im UI-thread (Lesen/Dekodieren/Rendern) developer.android.com/reference/android/widget/...
Bitmap bm=null; bm = BitmapFactory.decodeFile(absPathUri.getPath()); imgView.setImageBitmap(bm);
habe versucht, diese immer noch kein Bild angezeigt
InformationsquelleAutor Vikalp Patel | 2014-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorgeschlagen von gnuanu,
setImageURI()
ist nicht besser, als Lesen und Decodierung auf dem UI-thread, die können verursachen eine Latenz Schluckauf.Besser, verwenden Sie die folgenden:-
setImageDrawable(android.graphics.drawable.Drawable) or setImageBitmap(android.graphics.Bitmap) and BitmapFactory instead.
Immer noch diese Methoden nicht mein problem lösen. Wie ich die Bild mit der Kamera und dem onClick-der Versand zur Nächsten Aktivität, die verursachen, Wartezeit Schluckauf.
Also besser zu passieren, um eine andere Aktivität nach einigen peroid der Zeit . . nur eine sec ist Total gut geeignet um durch Sie zu erhalten.
Snippet, die lösen mein Problem:-
In Nächste Aktivität, fangen die URI und drehen Sie das Bild, als wäre es in Querformat.
InformationsquelleAutor Vikalp Patel
Siehe hier: Bildansicht setImageBitmap funktioniert nicht auf bestimmten Geräten
Ich fand, dass in meinem Fall, ich brauchte, um invalidate aufrufen nach setImageBitmap:
InformationsquelleAutor Nick