Ich bin ein Anfänger für die Android-Entwicklung. Ich habe eine Android-Bildansicht, die Web-Bild importieren, indem Sie Picasso 2.5.2-Bibliothek verwenden. Es funktioniert. Nach dem Klicken auf diese Bildansicht möchte ich einen Android-Dialog im Vollbildmodus mit diesem Bild erstellen. Ich habe folgenden Code dafür benutzt. Nach einem Klick auf die Bildansicht wird jedoch ein Dialog ohne Vollbild angezeigt. Schließlich möchte ich den Vollbilddialog vergrößern und verkleinern. Ich möchte diese Art von Vollbild auf Bildansicht onClickListener
. Auch sehen, wie das Bild unten einen Titel hat, und ich brauche auch die Bildunterschrift (wie in Facebook)Android: Anzeigen von Bildern im Vollbild mit der Beschriftung auf "onClick" Ereignis
Hier ist mein Code
Mainactivity.java
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import com.squareup.picasso.Picasso;
public class MainActivity extends AppCompatActivity {
ImageView imageView1;
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initUi();
}
public void initUi(){
imageView1 = (ImageView)findViewById(R.id.image);
Picasso.with(this)
.load(Uri.parse("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640"))
.into(imageView1);
imageView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showImage();
}
});
}
public void showImage() {
Dialog builder = new Dialog(this, android.R.style.Theme_Light);
builder.requestWindowFeature(Window.FEATURE_NO_TITLE);
builder.getWindow().setBackgroundDrawable(
new ColorDrawable(android.graphics.Color.TRANSPARENT));
builder.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialogInterface) {
//nothing;
}
});
ImageView imageView = new ImageView(this);
Picasso.with(this)
.load(Uri.parse("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640"))
.into(imageView);
builder.addContentView(imageView, new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
builder.show();
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_add_info_other"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:text="Image buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:textColor="@android:color/black"
android:textSize="16sp"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image"/>
</LinearLayout>
</ScrollView>
</LinearLayout>
Sie möchten nach dem Klicken auf die Bildansicht den Vollbildmodus des Warndialogs aufrufen. –
Gibt es einen Grund, den Dialog anstelle von Activity for FullScreen zu verwenden? –
@MuthukrishnanRajendran: Eigentlich nein. Ich kann es auch benutzen. Die Sache ist, dass es so sein muss, wie WhatsApp oder FaceBook Bilder auf Klick anzeigt, mit der Möglichkeit, alles zu zoomen. –