进来做项目,要求一个页面展示多个页面,也就是提示用户左右有图可滑动,我项目中用的是ViewPager做的轮播图,
所以在代码中要做这样的效果得这样设置:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:clipChildren="false"
android:clipToPadding="false"
android:layerType="software"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.app.gaolonglong.banner.MainActivity"
tools:showIn="@layout/activity_main">
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp"
android:layout_width="match_parent"
android:layout_height="190dp"/>
<LinearLayout
android:layout_marginTop="145dp"
android:gravity="center_vertical"
android:background="#66000000"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="45dp">
<TextView
android:id="@+id/title"
android:text="我是萌萌的文字说明呀..我是萌萌的文字说明呀..我是萌萌的文字说明呀..我是萌萌的文字说明呀.."
android:textColor="#ffffff"
android:maxLines="2"
android:ellipsize="end"
android:lineSpacingMultiplier="1.2"
android:gravity="center_vertical"
android:layout_marginLeft="5dp"
android:layout_weight="3"
android:layout_width="0dp"
android:layout_height="match_parent" />
<LinearLayout
android:layout_weight="1"
android:orientation="horizontal"
android:gravity="end|bottom"
android:visibility="gone"
android:padding="9dp"
android:layout_width="0dp"
android:layout_height="match_parent">
<ImageView
android:id="@+id/dot_indicator1"
android:src="@drawable/dot_focused"
android:layout_marginRight="8dp"
android:layout_width="7dp"
android:layout_height="7dp" />
<ImageView
android:id="@+id/dot_indicator2"
android:src="@drawable/dot_focused"
android:layout_marginRight="8dp"
android:layout_width="7dp"
android:layout_height="7dp" />
<ImageView
android:id="@+id/dot_indicator3"
android:src="@drawable/dot_focused"
android:layout_marginRight="8dp"
android:layout_width="7dp"
android:layout_height="7dp" />
<ImageView
android:id="@+id/dot_indicator4"
android:src="@drawable/dot_focused"
android:layout_marginRight="8dp"
android:layout_width="7dp"
android:layout_height="7dp" />
<ImageView
android:id="@+id/dot_indicator5"
android:src="@drawable/dot_focused"
android:layout_width="7dp"
android:layout_height="7dp" />
</LinearLayout>
</LinearLayout>
</FrameLayout>
上面代码中关键:
Java代码中:
mViewPager = (ViewPager) findViewById(R.id.view_pager);
mViewPager.setClipChildren(false);
mViewPager.setClipToPadding(false);
mViewPager.setOffscreenPageLimit(2); // 设置缓冲的页面数
mViewPager.setPageMargin(10); // 设置2张图之前的间距。
// mViewPager.setLayerType(View.LAYER_TYPE_NONE, null);
这样就可以实现效果了。