直播原始碼,懸浮窗滾動漸變色效果
直播原始碼,懸浮窗滾動漸變色效果實現的相關程式碼
首先自定義ScrollView
MyScrollView
import android.content.Context; import android.util.AttributeSet; import android.widget.ScrollView; /** * @Author:Administrator * @E-mail: victory52@163.com * @Date:2020/8/6 9:43 * @Description:描述資訊 */ public class MyScrollView extends ScrollView { private OnScrollListener onScrollListener; public MyScrollView(Context context) { this(context, null); } public MyScrollView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public MyScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void setOnScrollListener(OnScrollListener onScrollListener) { this.onScrollListener = onScrollListener; } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); if (onScrollListener != null) { onScrollListener.onScroll(t); } } public interface OnScrollListener { public void onScroll(int scrollY); } }
在佈局中使用MyScrollView
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:id="@+id/ll_parent" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.utils.MyScrollView android:id="@+id/scrollView" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:descendantFocusability="blocksDescendants" android:orientation="vertical"> <View android:id="@+id/imageview" android:layout_width="match_parent" android:layout_height="500dp" android:background="@android:color/holo_blue_dark" /> <!--滑動時展示的title(內固定view)--> <LinearLayout android:id="@+id/ll_filter" android:layout_width="match_parent" android:layout_height="45dp" android:background="#00EAFF" android:orientation="horizontal" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" /> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="1000dp" android:background="@android:color/holo_green_light" /> <View android:layout_width="match_parent" android:layout_height="500dp" android:background="#f00" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="wrap_content"/> </RelativeLayout> </LinearLayout> <!--滑動之後在最上面展示的title(外固定view)--> <LinearLayout android:id="@+id/ll_top" android:layout_width="match_parent" android:layout_height="45dp" android:background="#FF0000" android:orientation="horizontal"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="外固定View" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view_home_title" android:layout_width="match_parent" android:layout_height="@dimen/dp_50" android:layout_centerHorizontal="true" android:layout_marginLeft="@dimen/dp_24" android:layout_marginTop="@dimen/dp_12" > </androidx.recyclerview.widget.RecyclerView> </LinearLayout> </FrameLayout> </com.utils.MyScrollView> </LinearLayout>
kotlin
先寫ScrollView監聽
scrollView.setOnScrollListener(this)
顏色漸變,獲取imageview的高度來設定漸變
override fun onScroll(scrollY: Int) { val mTop = scrollY.coerceAtLeast(ll_filter.top) ll_top.layout(0, mTop, ll_top.width, mTop + ll_top.height) /* * 顏色漸變(不需要漸變可以把下面的刪掉) * */ var imageHeight = imageview.getHeight() if (scrollY <= imageHeight) { val scale: Float = scrollY.toFloat() / imageHeight val alpha = 255 * scale // 只是layout背景透明(仿知乎滑動效果)白色透明 ll_top.setBackgroundColor(Color.argb(alpha.toInt(), 255, 255, 255)) // 設定文字顏色,黑色,加透明度 //textView.setTextColor(Color.argb(alpha.toInt(), 0, 0, 0)) Log.e("111", "y > 0 && y <= imageHeight") } }
以上就是 直播原始碼,懸浮窗滾動漸變色效果實現的相關程式碼,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2861679/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CSS滑鼠懸浮行背景變色效果CSS
- 滑鼠懸浮導航欄背景和字型變色效果
- 線上直播原始碼,CSS磨砂玻璃效果和漸變主題色文字原始碼CSS
- 直播小程式原始碼,Swift 獲取漸變色顏色值原始碼Swift
- 直播商城原始碼,vue 彈窗 慣性滾動 加速滾動原始碼Vue
- 直播軟體原始碼,設定懸浮窗並可進行任意位置的移動原始碼
- Android仿微信文章懸浮窗效果Android
- app直播原始碼,xml實現由上而下的顏色漸變APP原始碼XML
- 滑鼠懸浮tr行高亮變色
- Android 懸浮窗Android
- 成品直播原始碼,圖片放大且有漸變色罩層出現原始碼
- 線上直播原始碼,JS動態效果之,側邊欄滾動固定效果原始碼JS
- 懸浮窗的一種實現 | Android懸浮窗Window應用Android
- 直播系統app原始碼,漸變色按鈕帶陰影樣式APP原始碼
- CSS 滑鼠懸浮動畫暫停效果CSS動畫
- 滑鼠懸浮連結動畫高亮效果動畫
- 利用css變數實現按鈕懸浮效果CSS變數
- 影片直播網站原始碼,圖片放大且有漸變色罩層出現網站原始碼
- app直播原始碼,AnimatedOpacity 漸變元件淺析APP原始碼元件
- 短視訊app原始碼,連麥時最小化出現可移動懸浮窗APP原始碼
- CSS滑鼠懸浮圖片動畫放大效果CSS動畫
- SVG 漸變動畫效果SVG動畫
- 直播平臺搭建原始碼,Android進度條ProgressBar顏色的漸變設定原始碼Android
- 利用CSS變數實現炫酷的懸浮效果CSS變數
- [譯] CSS 變數實現炫酷滑鼠懸浮效果CSS變數
- Android 懸浮窗 System Alert WindowAndroid
- Android懸浮窗的學習Android
- 短視訊系統原始碼,關於懸浮窗的縮放、拖動等應用原始碼
- 成品直播原始碼推薦,js點選讓視窗抖動動畫效果原始碼JS動畫
- 電商直播主圖設計素材,輕鬆搞定直播懸浮窗設計!
- 滑鼠懸浮div動畫改變尺寸動畫
- 底部導航欄懸浮效果
- CSS3滑鼠懸浮動畫按鈕效果CSSS3動畫
- CSS3連結<a>滑鼠懸浮動畫效果CSSS3動畫
- CSS3滑鼠懸浮圖片閃動效果CSSS3
- 直播平臺原始碼,Android中常用Dialog彈窗效果原始碼Android
- 利用CSS變數實現令人震驚的懸浮效果CSS變數
- echarts圖表漸變色 、及X軸滾動條樣式處理Echarts