android - 如何將viewpager的圖片與狀態(tài)欄沉侵
問(wèn)題描述
如何將viewpager的圖片與狀態(tài)欄沉侵,這該如何做呢???我這里的viewpager不是全屏的,而是占屏幕的1/4.
問(wèn)題解答
回答1:以前剛好做過(guò)一個(gè)半成品的app,主頁(yè)用的剛剛好是題主要的效果.我先拋鏈接了:點(diǎn)這里,里面有注釋的
StatusBarUtil.setTransparent(MainActivity.this);//然后動(dòng)態(tài)的改變Activity的背景就可以實(shí)現(xiàn)了
我來(lái)更新了:先看布局吧(這里給我這里的示例):
<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'> <LinearLayoutandroid:layout_width='match_parent'android:layout_height='match_parent'android:orientation='vertical'><FrameLayout android: android:layout_width='match_parent' android:layout_height='400dp' android:background='@drawable/meinv'>//我要把這個(gè) meinv 變?yōu)槌两顟B(tài)欄,注意層級(jí)</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里的方法(注意層級(jí)):
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 這個(gè)就是有美女背景圖的那個(gè)FrameLayout,也是ViewGroup嘛childAt1.setFitsSystemWindows(true);childAt1.setClipToPadding(true); }
demo圖:
具體你的項(xiàng)目是什么效果你自己微調(diào)吧
-----再更新:輪播有OnPageChangeListener();動(dòng)態(tài)的設(shè)置就可以了
/ 2016-10-20 更新答案 */
PS:可能題主已經(jīng)走了,但是還是寫(xiě)下一下更新,今天碰到類(lèi)似的需求
Activity 要繼承 AppCompatActivity.2.
@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) { // 設(shè)置狀態(tài)欄透明 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);} } //.....
這個(gè)時(shí)候你的狀態(tài)欄你就可以使用了.你可以在狀態(tài)欄填充一個(gè)View然后按需求改變這個(gè)View的背景透明度
我的 是用ScrollView去做的,所以我監(jiān)聽(tīng)滾動(dòng)的距離,貼上我的處理:
mSScrollView.setOnScrollListener(new SScrollView.OnScrollChangedListener() { @Override public void onScrollChanged(int x, int y, int oldX, int oldY) {//狀態(tài)欄透明度回調(diào)final int height = mFLViewpagerHeight - mTitleHeight;if (y <= 0) { //設(shè)置標(biāo)題的背景顏色 mVGTitle.setBackgroundColor(Color.argb((int) 0, 255,255,255)); mTvTitleMiddle.setTextColor(Color.argb((int) 0, 46,46,46)); //這是填充在狀態(tài)欄的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) { //滑動(dòng)距離小于banner圖的高度時(shí),設(shè)置背景和字體顏色顏色透明度漸變 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 { //滑動(dòng)到banner下面設(shè)置普通顏色 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);}
不知道這個(gè)能放視頻嗎,我用studio錄了一個(gè)demo,你看看是不是可以實(shí)現(xiàn)你的效果.截圖傳圖太慢了http://oahzrw11n.bkt.clouddn....
相關(guān)文章:
1. java固定鍵值轉(zhuǎn)換,使用枚舉實(shí)現(xiàn)字典?2. php自學(xué)從哪里開(kāi)始?3. javascript - 微信網(wǎng)頁(yè)開(kāi)發(fā)從菜單進(jìn)入頁(yè)面后,按返回鍵沒(méi)有關(guān)閉瀏覽器而是刷新當(dāng)前頁(yè)面,求解決?4. javascript - 手機(jī)瀏覽器會(huì)有一個(gè)默認(rèn)的viewport視圖,將頁(yè)面縮放后顯示在手機(jī)屏幕?5. javascript - 有沒(méi)有類(lèi)似高鐵管家的時(shí)間選擇插件6. 如何解決tp6在zend中無(wú)代碼提示7. mysql - 千萬(wàn)數(shù)據(jù) 分頁(yè),當(dāng)偏移量 原來(lái)越大時(shí),怎么優(yōu)化速度8. 這是什么情況???9. window下mysql中文亂碼怎么解決??10. vim - win10無(wú)法打開(kāi)markdown編輯器
