使用viewGrop自定义轮播图中实现图片自适应手机屏幕的宽度

1.运行效果

运行显示没有铺满,右边留有一小块

原因:这张图片的宽度是720,模拟器的大小事是768,所以右边会留一小块。


解决办法:

在向自定义的viewgrop中添加imageview时imageview的宽度可以自定义添加。设置成当前手机的宽度。


步骤:

1.计算当前手机的宽度:

 
 
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
     
//    计算出手机的宽度
        DisplayMetrics dm=new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        width = dm.widthPixels;

       myview=(MyView) findViewById(R.id.myview);
        addimage();
    }
      //知道手机的宽度就要给imageview设置一个布局

    
private void addimage() {
    for (int i=0;i<images.length;i++){
        ImageView imageview=new ImageView(this);

       imageview.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageview.setLayoutParams(new ViewGroup.LayoutParams(width,
                      ViewGroup.LayoutParams.WRAP_CONTENT));

 imageview.setImageResource( images[i]); myview.addView(imageview); }}

问题已解决


猜你喜欢

转载自blog.csdn.net/qq_26554909/article/details/72718870