public class MainActivity extends AppCompatActivity { private List<String> mUrls; private TextView tiaozhuan_main; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initview(); mUrls = new ArrayList<>(); mUrls.add("http://7xi8d6.com1.z0.glb.clouddn.com/2017-05-05-18251898_1013302395468665_8734429858911748096_n.jpg"); mUrls.add("http://7xi8d6.com1.z0.glb.clouddn.com/2017-05-04-18299181_1306649979420798_1108869403736276992_n.jpg"); mUrls.add("http://ww1.sinaimg.cn/large/61e74233ly1feuogwvg27j20p00zkqe7.jpg"); tiaozhuan_main.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Mydialog(MainActivity.this,mUrls).show(); } }); } private void initview() { tiaozhuan_main = (TextView) findViewById(R.id.tiaozhuan_main); } }public class Mydialog extends Dialog { private List<String> urls; private Activity context; private Myviewpage view_page; private TextView limit_text; public Mydialog(@NonNull Activity context, List<String> urls) { super(context, R.style.Mydialog); this.context = context; this.urls = urls; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog_layout); //拿屏幕的宽高,只有activity有getWindowManager这个方法,所有我们要强转成activity, // dialog是挂载到activity上的,直接getContext就是他的activity WindowManager windowManager = context.getWindowManager(); DisplayMetrics metrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getMetrics(metrics); int widthPixels = metrics.widthPixels; int heightPixels = metrics.heightPixels; //设置diaolog为全屏 Window window = getWindow(); WindowManager.LayoutParams layoutParams = window.getAttributes(); layoutParams.x = 0; layoutParams.y = 0; layoutParams.width = widthPixels; window.setAttributes(layoutParams); view_page = (Myviewpage) findViewById(R.id.View_Page); limit_text = (TextView) findViewById(R.id.limit_text); view_page.setAdapter(new MyPageAdpater(getContext(), urls)); limit_text.setText("1/" + urls.size()); view_page.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { limit_text.setText(position + 1 + "/" + urls.size()); } @Override public void onPageScrollStateChanged(int state) { } }); } }public class MyPageAdpater extends PagerAdapter{ private List<String> urls; private Context context; public MyPageAdpater(Context context, List<String> urls) { this.urls = urls; this.context = context; } @Override public int getCount() { return urls==null?0:urls.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public Object instantiateItem(ViewGroup container, int position) { PhotoView photoView=new PhotoView(context); ImageLoader.getInstance().displayImage(urls.get(position),photoView); container.addView(photoView); return photoView; } }<style name="Mydialog" parent="android:style/Theme.Dialog"> <!-- Customize your theme here. --> <item name="android:background">@color/dialog</item> <item name="android:windowBackground">@color/dialog</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:windowIsTranslucent">true</item> </style>
图片查看器
最新推荐文章于 2024-03-23 09:39:36 发布