android滑动view
16lz
2021-01-23
package com.example.demo;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.view.ViewGroup;import android.widget.LinearLayout;/** * @author Huang xudong * @date 2020/7/26 */public class MainActivity extends AppCompatActivity { private LinearLayout view; /** * 定义你的View最大高度,maybe set max PHONE height * 这里设置最大值,防止底部还有组件 */ private int maxTopHeight=5000; /** * 获取控件的默认高度,当下滑最小高度的时候不再滑动了 */ private int defaultHeight=0; /** * 这里设置的组属性 */ private ViewGroup.LayoutParams layoutParams; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); view=findViewById(R.id.ll_main); layoutParams = view.getLayoutParams(); defaultHeight=layoutParams.height; /** * 注册view滑动事件,可以选择其他的,比喻指定的组件 */ view.setOnTouchListener(new View.OnTouchListener() { int y=0; @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: y= (int) event.getRawY(); break; case MotionEvent.ACTION_MOVE: int lastY= (int) event.getRawY(); if (lastY-y>0){ if (layoutParams.height>defaultHeight){ layoutParams.height=layoutParams.height-Math.abs(lastY-y)/20; view.setLayoutParams(layoutParams); } }else { if (layoutParams.height
<?xml version="1.0" encoding="utf-8"?>
主要有一个算法,其他的都是比较简单的。上面是效果图
更多相关文章
- Android在Button按钮上同时显示文字和图片
- Android如何使用XML创建一个环形渐变颜色图片
- Android 旋转图片
- Android 获取网络图片
- Android 图片加载缓存
- Android 系统图片
- 图片压缩
- Android三种方法设置ImageView的图片
- Android开发——控件基础(七)ListView组件:示例代码