日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Android 滑動(dòng)Scrollview標(biāo)題欄漸變效果(仿京東toolbar)

瀏覽:220日期:2022-06-06 10:25:47

Scrollview標(biāo)題欄滑動(dòng)漸變

仿京東樣式(上滑顯示下滑漸變消失)

Android 滑動(dòng)Scrollview標(biāo)題欄漸變效果(仿京東toolbar)

Android 滑動(dòng)Scrollview標(biāo)題欄漸變效果(仿京東toolbar)

/** * @ClassName MyScrollView * @Author Rex * @Date 2021/1/27 17:38 */public class MyScrollView extends ScrollView { private TranslucentListener mTranslucentListener; public void setTranslucentListener(TranslucentListener translucentListener) { this.mTranslucentListener = translucentListener; } public MyScrollView(Context context) { this(context, null); } public MyScrollView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) { this(context, attrs, defStyleAttr, 0); } public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); if (mTranslucentListener != null) { //ScrollView滑出高度 int scrollY = getScrollY(); //屏幕高度 int screenHeight = getContext().getResources().getDisplayMetrics().heightPixels; //有效滑動(dòng)距離為屏幕2分之一 // alpha = 滑動(dòng)高度/(screenHeight/3f) if (scrollY <= screenHeight / 2f) { Log.d('>>>>>>>>>', 'ScrollView劃出高度:' + scrollY); Log.d('>>>>>>>>>', '屏幕高度:' + screenHeight); Log.d('>>>>>>>>>', '漸變值:' + (0 + scrollY / (screenHeight / 4f))); // 漸變的過(guò)程 1~0 mTranslucentListener.onTranslucent(0 + scrollY / (screenHeight /4f)); } } }}

Activity 設(shè)置

public class ToolbarActivity extends AppCompatActivity implements TranslucentListener { private Toolbar mToolBar; private MyScrollView mScrollView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_toobar); mToolBar = findViewById(R.id.id_toolbar); mScrollView = findViewById(R.id.id_scrollView); //初始化漸變?yōu)? mToolBar.setAlpha(0); //設(shè)置漸變回調(diào) mScrollView.setTranslucentListener(this); } @Override public void onTranslucent(float alpha) { mToolBar.setAlpha(alpha); }}

漸變回調(diào)接口

/** * @ClassName TranslucentListener * @Author rex * @Date 2021/1/27 17:38 */public interface TranslucentListener { /** * 透明度的回調(diào)監(jiān)聽 * * @param alpha 0~1 透明度 */ public void onTranslucent(float alpha);}

布局文件

<RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' android:layout_width='match_parent' android:layout_height='match_parent'> <com.rex.rxhttpdemo.MyScrollView android: android:layout_width='match_parent' android:layout_height='match_parent' android:clipChildren='false' android:clipToPadding='false' > <LinearLayout android:layout_width='match_parent' android:layout_height='match_parent' android:orientation='vertical'> <Button android: android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button0' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button1' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button2' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button3' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button4' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button5' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button5' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button5' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button5' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button5' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button5' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button5' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button5' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> <Button android:layout_width='match_parent' android:layout_height='match_parent' android:text='Button' /> </LinearLayout> </com.rex.rxhttpdemo.MyScrollView> <androidx.appcompat.widget.Toolbar android: android:layout_width='match_parent' android:layout_height='wrap_content' android:background='@color/colorAccent' app:title='title' /></RelativeLayout>

下滑顯示上滑漸變消失

/** * @ClassName MyScrollView * @Author Rex * @Date 2021/1/27 17:38 */public class MyScrollView extends ScrollView { private TranslucentListener mTranslucentListener; public void setTranslucentListener(TranslucentListener translucentListener) { this.mTranslucentListener = translucentListener; } public MyScrollView(Context context) { this(context, null); } public MyScrollView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) { this(context, attrs, defStyleAttr, 0); } public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); if (mTranslucentListener != null) { //ScrollView滑出高度 int scrollY = getScrollY(); //屏幕高度 int screenHeight = getContext().getResources().getDisplayMetrics().heightPixels; //有效滑動(dòng)距離為屏幕2分之一 // alpha = 滑動(dòng)高度/(screenHeight/3f) if (scrollY <= screenHeight / 2f) { Log.d('>>>>>>>>>', 'ScrollView劃出高度:' + scrollY); Log.d('>>>>>>>>>', '屏幕高度:' + screenHeight); Log.d('>>>>>>>>>', '漸變值:' + (1 - scrollY / (screenHeight / 4f))); // 漸變的過(guò)程 1~0 mTranslucentListener.onTranslucent(1 - scrollY / (screenHeight /4f)); } } }}

注意: 這里只是更改了 mTranslucentListener.onTranslucent 里的 漸變值

Activty 里 把初始化 mToolBar.setAlpha(0); 去掉

XML

<com.rex.rxhttpdemo.MyScrollView android: android:layout_width='match_parent' android:layout_height='match_parent' android:clipChildren='false' android:clipToPadding='false' android:paddingTop='?attr/actionBarSize' > </com.rex.rxhttpdemo.MyScrollView>

xml 加入 paddingtop .

注意:android:clipChildren=“false”android:clipToPadding='false'這倆個(gè)屬性 如果不加會(huì)有留白

到此這篇關(guān)于Android 滑動(dòng)Scrollview標(biāo)題欄漸變效果(仿京東toolbar)的文章就介紹到這了,更多相關(guān)Android 滑動(dòng)Scrollview標(biāo)題欄漸變內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: 京東
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆9191精品国产| 久久九九99| 999国产精品| 中文字幕亚洲影视| 91久久中文| 精品国产亚洲一区二区三区| 日韩欧美精品一区二区综合视频| 亚洲欧美视频一区二区三区| 亚洲欧美日韩视频二区| 蜜桃久久久久久久| 亚洲精品123区| 人人爽香蕉精品| 国产三级精品三级在线观看国产| 国产午夜一区| 国产一区二区三区四区| 亚洲精品88| 九九综合九九| 亚洲开心激情| 麻豆精品在线| 久久精品官网| 亚洲v天堂v手机在线| 国产精品尤物| 久久久9色精品国产一区二区三区| 亚洲欧美日韩国产一区二区| 日本不卡一二三区黄网| 国产探花一区二区| 日韩成人亚洲| 婷婷精品在线| 日韩精品dvd| 日韩精品成人| 亚洲午夜在线| 国产精选一区| 亚洲一区欧美二区| 久久精品日韩欧美| 亚洲欧美日韩专区| 日产精品一区二区| 中文字幕日本一区| 神马午夜久久| 欧美精品97| 中文字幕一区二区三区四区久久 | 日本不卡高清| 99视频精品全国免费| 国产精品hd| 日韩一区免费| 国产精品婷婷| 91精品国产91久久久久久黑人| 欧美影院视频| 亚洲三级网站| 鲁大师成人一区二区三区| 久久久久99| 天堂中文在线播放| 精品午夜视频| 嫩呦国产一区二区三区av| 日日夜夜免费精品| 中文一区一区三区免费在线观 | 石原莉奈在线亚洲二区| 精品免费视频| 美女视频黄 久久| 国产精品国码视频| 国产色99精品9i| 牛牛精品成人免费视频| 久久免费福利| 色综合五月天| 女生影院久久| 亚洲香蕉网站| 快she精品国产999| 免费在线欧美视频| 日本视频中文字幕一区二区三区| 亚洲三级网站| 国产精品丝袜在线播放| 久久久精品国产**网站| 蜜桃精品视频| 久久女人天堂| 国产成人免费精品| 成人在线网站| 日韩中文字幕1| 国产亚洲字幕| 理论片午夜视频在线观看| 色综合www| 免费精品视频最新在线| 日本午夜精品久久久| 成人日韩av| 亚洲欧洲另类| 国产欧美二区| 日本精品影院| 精品一区在线| 亚洲精品免费观看| 国产色99精品9i| 98精品久久久久久久| 美女网站一区| 欧美日韩18| 亚洲综合在线电影| 视频一区欧美精品| 中文在线资源| 日韩成人午夜精品| 亚洲天堂1区| 久久国产精品美女| 午夜亚洲福利在线老司机| 免费一级欧美片在线观看网站| 在线观看免费一区二区| 久久av资源| 99成人在线| 国产欧美一区二区三区精品酒店| 蜜臀a∨国产成人精品| 久久uomeier| 国产乱码精品一区二区三区四区 | 欧美成人精品午夜一区二区| 亚洲欧美日韩国产综合精品二区| 日本一区二区高清不卡| 欧美日本久久| 亚洲激情黄色| 亚洲精品极品少妇16p| 国产精品成久久久久| 国产精品成人一区二区网站软件| 国产亚洲精品v| 精品高清久久| 国产精品大片| 91欧美精品| 日韩亚洲精品在线观看| 国产精品婷婷| 最新国产拍偷乱拍精品| 国产高清一区| 久久久久久免费视频| 国产传媒在线观看| 久久亚洲精品中文字幕| 精品99久久| 人在线成免费视频| 伊人网在线播放| 日韩成人亚洲| 婷婷综合亚洲| 久久久久久美女精品| 日韩久久电影| 在线日韩欧美| 丝瓜av网站精品一区二区| 亚洲激情中文在线| 国产亚洲一级| 丝袜脚交一区二区| 影音先锋久久精品| 日韩毛片网站| 欧美国产先锋| 成人自拍av| 亚洲综合日韩| 日韩精品社区| 狠狠久久伊人中文字幕| 亚洲www免费| 亚洲欧美一区在线| 日本大胆欧美人术艺术动态| 日韩av不卡一区二区| 国产欧美一区二区三区国产幕精品| 国产精品亚洲综合久久| 91亚洲国产| 美女被久久久| 美女av一区| 影音国产精品| 国产精品啊v在线| 久久国产中文字幕| 亚洲v天堂v手机在线| 国产一区二区三区视频在线| 尹人成人综合网| 精品理论电影在线| 蜜桃精品在线| 日本免费一区二区视频| 欧美freesex黑人又粗又大| 国产精品91一区二区三区| 亚洲欧洲专区| 卡一卡二国产精品| 桃色av一区二区| 久久精品97| 一区二区三区四区在线看| 欧美片第1页综合| 日韩一区二区免费看| 国产精品麻豆久久| 国产欧美91| 三级在线观看一区二区| 婷婷激情一区| 国产精品手机在线播放| 日韩精品一卡二卡三卡四卡无卡| 91看片一区| 中文在线免费视频| 精品一区二区三区中文字幕在线| 亚洲毛片在线| 老鸭窝毛片一区二区三区| 性欧美videohd高精| 麻豆精品蜜桃视频网站| 国产精品一区二区av交换| 亚洲精品裸体| 伊人久久大香伊蕉在人线观看热v| 亚洲国产专区校园欧美| 欧美成人基地 | 久久不卡日韩美女| 青青草91视频| 日本欧美一区二区在线观看| 亚洲一区av| 日产欧产美韩系列久久99| 视频一区中文字幕| 综合激情视频| 国产精品视频一区二区三区| 国产欧美三级| 国产极品久久久久久久久波多结野| 免费在线成人|