如何将viewpager的图片与状态栏沉侵,这该如何做呢???我这里的viewpager不是全屏的,而是占屏幕的1/4.
以前剛好做過一個半成品的app,主頁用的剛剛好是題主要的效果.我先拋鏈接了:點這裡,裡面有註釋的
StatusBarUtil.setTransparent(MainActivity.this); //然后动态的改变Activity的背景就可以实现了
我來更新了:先看佈局吧(這裡給我這裡的範例):
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg_saber_q" tools:context="didikee.com.demoapk.activity.StatuBarActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <FrameLayout android:id="@+id/bg_main" android:layout_width="match_parent" android:layout_height="400dp" android:background="@drawable/meinv"> //我要把这个 meinv 变为沉浸状态栏,注意层级 </FrameLayout> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:textSize="50sp" android:textColor="@color/orange" android:gravity="center" android:text="哈哈哈"/> </LinearLayout> </FrameLayout>
接著修改 StatusBarUtil裡的方法(注意層級):
private static void setRootView(Activity activity) { ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0); ViewGroup childAt = (ViewGroup) rootView.getChildAt(0); ViewGroup childAt1 = (ViewGroup) childAt.getChildAt(0); //childAt1 这个就是有美女背景图的那个FrameLayout,也是ViewGroup嘛 childAt1.setFitsSystemWindows(true); childAt1.setClipToPadding(true); }
demo圖:
具體你的專案是什麼效果你自己微調吧
-----再更新:輪播有OnPageChangeListener();動態的設定就可以了OnPageChangeListener();动态的设置就可以了
OnPageChangeListener();
/ 2016-10-20 更新答案 */
PS:可能题主已经走了,但是还是写下一下更新,今天碰到类似的需求
Activity 要继承 AppCompatActivity.2.
Activity
AppCompatActivity
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.xxxx); setBarStyle(); init(); } public void setBarStyle() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // 设置状态栏透明 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } } //.....
这个时候你的状态栏你就可以使用了.你可以在状态栏填充一个View然后按需求改变这个View的背景透明度
View
我的 是用ScrollView
ScrollView
PS:可能題主已經走了,但是還是寫下一下更新,今天碰到類似的需求
mSScrollView.setOnScrollListener(new SScrollView.OnScrollChangedListener() { @Override public void onScrollChanged(int x, int y, int oldX, int oldY) { //状态栏透明度回调 final int height = mFLViewpagerHeight - mTitleHeight; if (y <= 0) { //设置标题的背景颜色 mVGTitle.setBackgroundColor(Color.argb((int) 0, 255,255,255)); mTvTitleMiddle.setTextColor(Color.argb((int) 0, 46,46,46)); //这是填充在状态栏的View mStatusBar.setBackgroundColor(Color.argb((int) 0, 204,204,204)); mIvTitleLeft.setImageResource(R.drawable.ic_arrow_left_white); mIvTitleShare.setImageResource(R.drawable.ic_share_pure); } else if (y > 0 && y <= height) { //滑动距离小于banner图的高度时,设置背景和字体颜色颜色透明度渐变 float scale = (float) y / height; float alpha = (255 * scale); mTvTitleMiddle.setTextColor(Color.argb((int) alpha, 46,46,46)); mVGTitle.setBackgroundColor(Color.argb((int) alpha, 255,255,255)); mStatusBar.setBackgroundColor(Color.argb((int) alpha, 204,204,204)); mIvTitleLeft.setImageResource(R.drawable.ic_arrow_left_white); mIvTitleShare.setImageResource(R.drawable.ic_share_pure); } else { //滑动到banner下面设置普通颜色 mVGTitle.setBackgroundColor(Color.argb((int) 255, 255,255,255)); mTvTitleMiddle.setTextColor(Color.argb((int) 255, 46,46,46)); mStatusBar.setBackgroundColor(Color.argb((int) 255, 204,204,204)); mIvTitleLeft.setImageResource(R.drawable.ic_left_arrow_dark); mIvTitleShare.setImageResource(R.drawable.ic_share_dark); }
以前剛好做過一個半成品的app,主頁用的剛剛好是題主要的效果.我先拋鏈接了:
點這裡,裡面有註釋的
我來更新了:
先看佈局吧(這裡給我這裡的範例):
接著修改 StatusBarUtil裡的方法(注意層級):
demo圖:

具體你的專案是什麼效果你自己微調吧
-----再更新:
輪播有
OnPageChangeListener();
動態的設定就可以了OnPageChangeListener();
动态的设置就可以了/ 2016-10-20 更新答案 */
PS:可能题主已经走了,但是还是写下一下更新,今天碰到类似的需求
Activity
要继承AppCompatActivity
.2.
这个时候你的状态栏你就可以使用了.你可以在状态栏填充一个
View
然后按需求改变这个View的背景透明度我的 是用
/ 2016-10-20 更新答案 */ScrollView
PS:可能題主已經走了,但是還是寫下一下更新,今天碰到類似的需求
Activity
要繼承AppCompatActivity
.🎜2.🎜View
然後依需求改變這個View的背景透明度🎜ScrollView
去做的,所以我監聽滾動的距離,貼上我的處理:🎜 rrreee 🎜不知道這個能放影片嗎,我用studio錄了一個demo,你看看是不是可以實現你的效果.截圖傳圖太慢了🎜http://oahzrw11n.bkt.clouddn....🎜