Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现
2017-02-24 09:43
429 查看
Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现
Java代码:
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>
Java代码:
package zhangphil.app; 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); } /* * 设置屏幕亮度 * 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视频播放器屏幕左侧边随手指上下滑动亮度调节功能的原理实现
- Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现(2):后续改进
- Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现
- Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现(2):后续改进
- Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现
- Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现
- Android视频播放器屏幕左侧边随手指上下滑动亮度调节变暗变亮原理实现
- 【Android】Android实现视频播放的时候滑动屏幕调节亮度和音量
- 上下滑动可以调节屏幕亮度
- js实现移动端手指左右上下滑动翻页效果
- android中使用Activity实现监听手指上下左右滑动
- Android监测手指上下左右滑动屏幕
- IOS中常用手势:手指向右滑动和向左滑动屏幕实现固定操作
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动
- 滑动调节音量与屏幕亮度
- Activity的onTouchEvent方法实现监听手指上下左右滑动
- Android开发 — 实现手指从屏幕底部向上滑动的方式来显示Dialog(可为实现自由拖动Dialog提供参考)
- Service中调节屏幕亮度(不依赖Activity)的实现
- 基于jquery实现后台左侧菜单点击上下滑动显示
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动