Android視頻播放器屏幕左側(cè)邊隨手指上下滑動亮度調(diào)節(jié)功能的原理實現(xiàn)
本文給大家分享Android視頻播放器屏幕左側(cè)邊隨手指上下滑動亮度調(diào)節(jié)功能的原理實現(xiàn),具體代碼如下所示:
import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.WindowManager; import android.widget.TextView; public class MainActivity extends Activity { private float startY = 0;//手指按下時的Y坐標 private float startX = 0;//手指按下時的Y坐標 private TextView brightnessTextView; private View mVideoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mVideoView = LayoutInflater.from(this).inflate(R.layout.activity_main, null); setContentView(mVideoView); brightnessTextView = (TextView) mVideoView.findViewById(R.id.text); } /* * 設(shè)置屏幕亮度 * 0 最暗 * 1 最亮 */ public void setBrightness(float brightness) { WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.screenBrightness = lp.screenBrightness + brightness / 255.0f; if (lp.screenBrightness > 1) { lp.screenBrightness = 1; } else if (lp.screenBrightness < 0.1) { lp.screenBrightness = (float) 0.1; } getWindow().setAttributes(lp); float sb = lp.screenBrightness; brightnessTextView.setText((int) Math.ceil(sb * 100) + "%"); } @Override public boolean onTouchEvent(MotionEvent event) { int screenWidth = mVideoView.getWidth(); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: startX = event.getX(); startY = event.getY(); break; case MotionEvent.ACTION_MOVE: float endY = event.getY(); float distanceY = startY - endY; if (startX > screenWidth / 2) { //右邊 //在這里處理音量 } else { //屏幕左半部分上滑,亮度變大,下滑,亮度變小 final double FLING_MIN_DISTANCE = 0.5; final double FLING_MIN_VELOCITY = 0.5; if (distanceY > FLING_MIN_DISTANCE && Math.abs(distanceY) > FLING_MIN_VELOCITY) { setBrightness(10); } if (distanceY < FLING_MIN_DISTANCE && Math.abs(distanceY) > FLING_MIN_VELOCITY) { setBrightness(-10); } } break; } return super.onTouchEvent(event); } }
activity_main.xml布局文件:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@mipmap/ic_launcher"> <TextView android:id="@+id/text" android:layout_width="150dp" android:layout_height="50dp" android:layout_gravity="center" android:background="@android:color/holo_orange_light" android:gravity="center" android:textColor="@android:color/white" /> </FrameLayout>
以上所述是小編給大家介紹的Android視頻播放器屏幕左側(cè)邊隨手指上下滑動亮度調(diào)節(jié)功能的原理實現(xiàn),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Android GSYVideoPlayer視頻播放器功能的實現(xiàn)
- Android項目實現(xiàn)視頻播放器
- Android使用vitamio插件實現(xiàn)視頻播放器
- Android基于IJKPlayer視頻播放器簡單封裝設(shè)計
- Android多媒體之VideoView視頻播放器
- android webvie指定視頻播放器播放網(wǎng)站視頻
- Android 使用Vitamio打造自己的萬能播放器(10)—— 本地播放 (縮略圖、視頻信息、視頻掃描服務(wù))
- Android 使用Vitamio打造自己的萬能播放器(7)——在線播放(下載視頻)
- Android 使用Vitamio打造自己的萬能播放器(5)——在線播放(播放優(yōu)酷視頻)
- Android UniversalVideoView實現(xiàn)視頻播放器
相關(guān)文章
Android 自定義view實現(xiàn)進度條加載效果實例代碼
這篇文章主要介紹了Android 自定義view實現(xiàn)進度條加載效果實例代碼,需要的朋友可以參考下2017-08-08Android自定義LinearLayout布局顯示不完整的解決方法
這篇文章主要給大家介紹了關(guān)于Android自定義LinearLayout但布局顯示不完整的解決方法,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-11-11Android SharedPreferences存儲的正確寫法
這篇文章主要介紹了Android SharedPreferences存儲的正確寫法的相關(guān)資料,需要的朋友可以參考下2017-06-06Android Usb設(shè)備的監(jiān)聽(Dev)外設(shè)端口的判定以及耳機的插拔
今天小編就為大家分享一篇關(guān)于Android Usb設(shè)備的監(jiān)聽(Dev)外設(shè)端口的判定以及耳機的插拔,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12Android原生ViewPager控件實現(xiàn)卡片翻動效果
這篇文章主要為大家詳細介紹了Android原生ViewPager控件實現(xiàn)卡片翻動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07