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"?>                                                                                                        

 

 主要有一个算法,其他的都是比较简单的。上面是效果图

更多相关文章

  1. Android动态生成RadioButton
  2. android CoordinatorLayout 使用
  3. Android(安卓)ListView使用
  4. Android(安卓)侧滑删除功能
  5. scrollView的fillviewport
  6. Android(安卓)页面惯性回弹效果,Nested接口接口简单实现。
  7. [转]Android(安卓)应用程序基础(Application Fundamentals)
  8. Android(安卓)系统基础
  9. 从零开始学习Android开发-Android概览

随机推荐

  1. 在launcher 2.1上实现2.2的屏幕标记
  2. 卸载SD卡对MediaServer的处理
  3. Android文字图片写入CSV(Base64)并分享
  4. Android(安卓)NDK 编译过程中遇到错误 ex
  5. Drawable(hdpi,ldpi,mdpi)目录的区别
  6. Visual Studio 2015正式发布下载 个人免
  7. Android学习11-----多媒体技术(5) 媒体录
  8. Android(安卓)GridView 滑动条设置一直显
  9. Android中的Intent Filter匹配规则介绍
  10. 定义Window进入和退出效果(及Window,Activ