Android实现点击图片全屏展示

阿木木 2020-08-28 10:58 1条评论

MainActivity:

public class MainActivity extends AppCompatActivity {
 private ImageView imageView;
 private Dialog dialog;
 private ImageView image;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 init();
 
 //小图的点击事件(弹出大图)
 imageView.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
  dialog.show();
  }
 });
 
 }
 
 private void init() {
 imageView = (ImageView) findViewById(R.id.image);
 
 //展示在dialog上面的大图
 dialog = new Dialog(MainActivity.this,R.style.FullActivity);
 
 WindowManager.LayoutParams attributes = getWindow().getAttributes();
 attributes.width = WindowManager.LayoutParams.MATCH_PARENT;
 attributes.height = WindowManager.LayoutParams.MATCH_PARENT;
 dialog.getWindow().setAttributes(attributes);
 
 image = getImageView();
 dialog.setContentView(image);
 
 //大图的点击事件(点击让他消失)
 image.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
  dialog.dismiss();
  }
 });
 
 }
 
 //动态的ImageView
 private ImageView getImageView(){
 ImageView imageView = new ImageView(this);
 
 //宽高
 imageView.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
 
 //imageView设置图片
 @SuppressLint("ResourceType") InputStream is = getResources().openRawResource(R.drawable.lala);
 
 Drawable drawable = BitmapDrawable.createFromStream(is, null);
 imageView.setImageDrawable(drawable);
 
 return imageView;
 }
}

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context=".MainActivity">
 
 <ImageView
 android:id="@+id/image"
 android:src="@drawable/lala"
 android:layout_centerInParent="true"
 android:layout_width="200dp"
 android:layout_height="200dp" />
 
</LinearLayout>

style:

<style name="FullActivity" parent="AppTheme">
 <item name="windowNoTitle">true</item>
 <item name="android:windowFullscreen">true</item>
</style>
本文标签: Android, 全屏展示
0.0

说点什么吧
  • 全部评论(0