PageViewer顶部和底部有白色边框

时间:2013-10-27 22:53:19

标签: android layout

我的图片没有完全适应屏幕。在顶部和底部有白色边框 我的图片有700x1002。

有人可以帮助我获得这些边缘并使图像/容器完全适合屏幕吗?

layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/linearActions" >

        <android.support.v4.view.ViewPager
            android:id="@+id/tourImageViewPager"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </android.support.v4.view.ViewPager>
    </FrameLayout>

    <LinearLayout
        android:id="@+id/linearActions"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/tour_bg"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btnIdentify"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:layout_marginBottom="24dp"
            android:layout_marginLeft="30dp"
            android:background="@color/buttonColorWhite"
            android:layout_marginTop="27dp"
            android:textSize="16sp"/>

        <Button
            android:id="@+id/btnGoHome"
            android:layout_width="wrap_content"
            android:layout_height="45dp"
            android:layout_marginBottom="24dp"
            android:layout_marginLeft="60dp"
            android:layout_marginRight="30dp"
            android:layout_marginTop="27dp"
            android:background="@color/buttonColorBlue"
            android:textSize="16sp"/>
    </LinearLayout>

    <RelativeLayout
        android:id="@+id/relativeCircle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/linearActions"
        android:layout_marginBottom="24dp"
        android:background="@null" >

        <com.viewpagerindicator.CirclePageIndicator
            android:id="@+id/tourImageIndicator"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            app:fillColor="#027CC3"
            app:pageColor="#CCCCCC" />
    </RelativeLayout>

</RelativeLayout>

MyAdapter:

public class MyAdapter extends PagerAdapter {

    Activity activity;
    int imageArray[];

    public MyAdapter(Activity act, int[] imgArray) {
        imageArray = imgArray;
        activity = act;
    }

    public Object instantiateItem(View collection, int position) {
        ImageView view = new ImageView(activity);
        view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT));
        view.setScaleType(ScaleType.FIT_CENTER);
        view.setImageResource(imageArray[position]);
        ((ViewPager) collection).addView(view, 0);
        return view;
    }

     @Override
     public void destroyItem(View arg0, int arg1, Object arg2) {
      ((ViewPager) arg0).removeView((View) arg2);
     }

     @Override
     public boolean isViewFromObject(View arg0, Object arg1) {
      return arg0 == ((View) arg1);
     }

    @Override
    public int getCount() {
        return imageArray.length;
    }

    @Override
    public Parcelable saveState() {
        return null;
    }
}

2 个答案:

答案 0 :(得分:3)

尝试将您的view.setScaleType(ScaleType.FIT_CENTER);更改为view.setScaleType(ScaleType.CENTER_CROP);

答案 1 :(得分:0)

它有点晚了,但上面提到的解决方案都没有对我有用。所以想到分享我的解决方案,它完美无缺。 如果我们在视图中设置ScaleType和Params(ImageView),那么我们可能会遇到LinerLayout / RelativeLayout的问题。 因此,只需在viewpagerAdapter布局中设置ImageView的ScaleType,如下所示。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/sampleImage"
    android:id="@+id/img_pager_item"
    android:scaleType="center"
    android:clickable="false"
    />