SlidingPaneLayout,DrawerLayout,ActionBar,NavigationView 详解 <二>SlidingPaneLayout 的 简单的使用

Android SlidingPaneLayout实践 可折叠设备在这里这一事实是无法回避的。在应用程序开发方面,它们带来了一些新的挑战。其中之一是可折叠设备的外形尺寸会根据折叠状态而变化。Android在设计上支持不同的外形尺寸,因此这很容易处理。但是,有一个新的Jetpack库可以使事情变得更容易:主要用例是不同的屏幕尺寸需要不同的用户体验。这方面的经典示例是列表/详细信息界面。列表和详细信息窗格在较大的显示器上并排显示。但列表窗格在较小的显示器上全屏显示。单击列表项后,将详细信息窗格全屏显示。 阅读详情
Metr design中所有的空间都是有厚度的。
在5.0以上,所有的控件都有自己的高度,就是z轴,在Metr design z轴越高,可以覆盖z轴低的控件。
在SlidingPaneLayout 的子控件里面增加一个属性:android:elevation="5dp",该控件就会高于其他的控件了。

注:elevation就是高度和海拔的意思,还有高尚,立视图,正视图的意思

0:布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:id="@+id/slidingPaneLayout"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <LinearLayout
        android:background="#090"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="First LinearLayout"/>
    </LinearLayout>
    <LinearLayout
        android:background="#6006"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:elevation="5dp"
        android:id="@+id/content">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Second LinearLayout"/>
    </LinearLayout>
</android.support.v4.widget.SlidingPaneLayout>

1:

package tech.androidstudio.slidingpanlayoutdemoreal;

import android.support.v4.view.ViewCompat;
import android.support.v4.widget.SlidingPaneLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity implements SlidingPaneLayout.PanelSlideListener {

    private SlidingPaneLayout mSlidingPaneLayout;
    private LinearLayout mContent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mSlidingPaneLayout = (SlidingPaneLayout)findViewById(R.id.slidingPaneLayout);
        mContent = (LinearLayout)findViewById(R.id.content);
        mSlidingPaneLayout.setPanelSlideListener(this);
    }

    //在PanlSlide的PanelSlide回调方法里面
    //在PanlSlide的PanelSlide回调方法里面
    @Override
    public void onPanelSlide(View panel, float slideOffset) {

        //获取panel的高度
        int height = panel.getHeight();
        //设置缩放的中心点是右侧的中点
        mContent.setPivotX(0);
        mContent.setPivotY(height/2);

        //设置缩放的等级
        mContent.setScaleX(1-slideOffset);
        mContent.setScaleY(1-slideOffset);


//如果要兼容2.0的手机,2.0就是API5,2.1是API 7,2.3是API 9
//        http://blog.youkuaiyun.com/rodulf/article/details/50743187

//        ViewCompat.setPivotX(mContent, 0);
//        ViewCompat.setPivotX(mContent, height / 2);
//        ViewCompat.setScaleX(mContent, 1 - slideOffset);
//        ViewCompat.setScaleY(mContent, 1 - slideOffset);
    }

    @Override
    public void onPanelOpened(View panel) {

    }

    @Override
    public void onPanelClosed(View panel) {

    }
}

掌握Android侧滑菜单实现:代码实例解析 Android侧滑菜单为用户提供了快速访问主要功能和内容的途径,同时又不干扰主界面的显示。这种模式通过一种直观的手势操作,使得界面布局更为紧凑且功能易于访问。随着移动应用对用户体验重视程度的增加,侧滑菜单已成为许多应用的标准功能。在本章中,我们将从基础知识入手,介绍侧滑菜单的概念、类型,以及它们在Android应用中的重要性。接着,我们将深入探讨如何使用Android SDK中提供的控件来实现侧滑菜单,包括对和的初步了解。这将为后续章节关于侧滑菜单实现细节的探讨打下坚实基础。 阅读详情

相关推荐

Android原生侧滑布局实现详解:DrawerLayout与SlidingPaneLayout实战代码示例

在移动应用开发中,良好的用户体验离不开直观、高效的界面交互设计。侧滑布局作为Android原生支持的重要UI组件之一,广泛应用于主流App的导航架构中。Android系统提供了两种官方侧滑实现方案:和,它们分别适用于不同的业务场景和交互需求。graph TDA[侧滑布局] --> B[DrawerLayout]B --> D[主从导航模式]C --> E[双窗格并列展示]本章将系统性地介绍这两种布局的核心概念与发展脉络。自 Android 4.4(API 19)引入,配合。

weixin_35433448的博客 1007

Android系统SlidingPaneLayout说明

即在界面打开时把slidingPane放在左侧。ndroid程序中向左滑动SlidingPaneLayout,logFragment显示。

l531798151的博客 468

实现Android中Activity的滑动效果指南

要实现复杂的滑动操作,你可能需要自定义一个ViewGroup来处理特定的触摸事件。理解并掌握如何分发触摸事件至子视图是关键。@Override// 在这里添加触摸事件分发逻辑在自定义ViewGroup中,可以通过重写方法来控制触摸事件的传递。

weixin_42599558的博客 1193

Android滑动菜单的简单实现(SlidingPaneLayout)

SlidingPaneLayout是Android团队在2013年Google IO大会上更新的Support V4库里面的高级系统控件,它可以轻松的实现一些简单的滑动菜单效果,例如QQ5.0上的菜单滑动效果,这篇博文来讲讲SlidingPaneLayout如何简单使用。 先看一下效果图  SlidingPaneLayout本质是一个水平的多层布局控件,下面简单介绍下使用方

sinat_30474567的博客 1087

全面掌握Android滑动菜单设计与实现

可以用来识别各种手势,包括滑动。通过自定义,可以实现自定义的滑动效果。自定义ViewGroup允许开发者创建新的布局容器,可以同时包含多个子视图,并且可以完全控制这些子视图的行为。为了实现一个高效且外观可定制的滑动菜单,本章将详细介绍SlidingPaneLayout的使用方法。作为Android Support Library中的一个组件,SlidingPaneLayout是一个非常实用的组件,允许开发者创建复杂的滑动菜单界面,该组件提供了开箱即用的功能,并支持自定义来适应不同的需求。

weixin_28840811的博客 905

TwinCAT3 主站动态配置 PDO 的实战技巧与性能优化

本文深入探讨了TwinCAT3主站动态配置PDO的实战技巧与性能优化策略。通过对比静态PDO的局限,阐述了动态配置在提升系统灵活性、降低网络负载和保障实时性方面的核心优势。文章提供了从环境准备、代码实现到错误排查的完整流程,并重点解析了PDO映射、SDO通道区别以及分布式时钟同步等关键概念,帮助工程师掌握EtherCAT网络性能调优的核心方法。

weixin_29213525的博客 346

Android SlidingPaneLayout和DrawerLayout控件

1. SlidingPaneLayout类 SlidingPaneLayout实现了左滑菜单,它的第一个子控件就是左滑菜单。 主要方法 public boolean openPane() // 打开菜单 public boolean closePane() // 关闭菜单 // 设置监听事件 public void setPanelSlideListener(PanelSlideListener...

假装你是大灰狼的专栏 1195

PLC编程标准之争:IEC61131与IEC61499核心区别与选型指南

在工业自动化领域,PLC编程长期依赖IEC61131标准,它定义了梯形图、结构化文本等语言,通过周期扫描机制保证确定性执行。然而,随着工业4.0和分布式控制场景的兴起,IEC61499以事件驱动模型打破传统范式,让功能块能跨设备协同,实现更灵活的柔性产线和模块化系统。理解两者在程序结构、数据交互、部署方式和实时性上的差异,是选型与工程落地的关键。本文从基础概念出发,剖析执行模型与架构演进,结合一线调试经验,帮助工程师在传统PLC与下一代标准之间做出理性决策。

weixin_27014595的博客 270

Android 布局 SlidingPaneLayout 侧滑菜单面板布局

1 开始使用 compile 'com.android.support:support-v4:25.3.1' android:layout_width=“100dp” 展开状态 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ap

louisgeek的专栏 1774

Homebrew高效升级与国内镜像源配置全攻略

本文详细介绍了如何通过配置国内镜像源(如清华、中科大、阿里云)来高效升级Homebrew,解决国内开发者访问GitHub仓库速度慢的问题。文章提供了从基础配置到永久生效的完整教程,包括常见问题解决和进阶技巧,帮助开发者大幅提升软件包管理效率。

weixin_28835551的博客 416

联想ThinkPad声卡驱动安装避坑指南:从E470到X1 Carbon的通用解法

本文详细介绍了ThinkPad声卡驱动安装的全流程,从硬件识别到驱动获取、安装技巧及深度排错。涵盖E470到X1 Carbon等不同机型的通用解法,帮助用户解决音频驱动问题,提升使用体验。重点讲解了声音驱动的精准识别和安装策略,确保系统稳定运行。

weixin_29207439的博客 709

Android开发笔记(一百二十)两种侧滑布局

SlidingPaneLayout SlidingPaneLayout是Android在android-support-v4.jar中推出的一个可滑动面板的布局,在前面《Android开发笔记(一百零一)滑出式菜单》中,我们提到水平布局时的LinearLayout无法自动左右拉伸,必须借助于手势事件才能拉出左侧隐藏的布局,现在SlidingPaneLayout便是为了解决LinearLayout

aqi00的博客 6173

DPO(Direct Preference Optimization)实战全流程指南

《DPO实战全流程指南》摘要 本文提供了端到端的DPO(直接偏好优化)实战方案,包含数据准备、模型训练、评估部署全流程。核心内容包括: 数据构建:推荐UltraFeedback等高质量数据集,提供数据预处理代码 训练配置:基于HuggingFace TRL库的DPO实现,详解beta值等关键参数调优 工业优化:显存节省技巧(LoRA、梯度检查点)、领域自适应方法和在线学习架构 效果评估:量化对比显示DPO可降低86%有害回复率,提升24%用户满意度 常见问题:针对灾难性遗忘、过度安全化等问题给出解决方案 附

技术引领业务创新 1467

Android之SlidingPanelLayout

SlidingPaneLayout提供一种用于用户接口的顶层的水平,多窗格布局。

abc137508277的专栏 1988

★教程3:Simulink学习教程入门60例目录

1.订阅本教程用户可以免费获得本博任意1个(包括所有免费专栏和付费专栏)博文对应代码;2.本Simulink课程的所有案例(部分理论知识点除外)均由博主编写而成,供有兴趣的朋友们自己订阅学习使用。未经本人允许,禁止任何形式的商业用途;3.本课程除了介绍常见的Simulink模块介绍之外,我们更侧重于各种实例的完整设计介绍。从通信,控制器,图像处理,语音处理,电力系统等诸多常用领域介绍了相关案例,如果对于某个较为复杂的案例,初学者无法正确复现,也可以私信博主获得完整Simulink模型文件。

FPGA/MATLAB学习教程/源码/项目合作开发 1万+

激光雷达点云异常现象详解:鬼影、高反膨胀与拖点

现象核心外观主要成因核心硬件对策核心算法对策鬼影位置错误,出现"复制"的物体镜面反射/光学元件间杂散光物理光阑、抗反射涂层多帧时序一致性检验、反射率逻辑判断膨胀尺寸变大,轮廓呈毛刺状信号饱和、像素/通道串扰可变增益控制、随机编码序列强度阈值滤波、几何轮廓拟合(剪裁)拖点边缘粘连,出现"阶梯"或"连线"光斑跨立边缘、双回波融合小光斑光学设计、多回波支持邻域深度突变检测、波形脉宽分析这些异常现象是当前激光雷达感知中的核心难点,通常需要硬件物理特性优化与上层感知算法。

Fun_LiDAR的博客 304

Android SlidingPaneLayout:教学课程

在这篇文章中,我们想展示如何使用SlidingPaneLayout 。 这是一个有趣的组件,当我们想要多窗格水平布局时可以使用。 此组件分为两个不同的部分: 左侧:主要部分。 它通常包含一个值列表(例如Contacts等) 右侧:细节部分。 它在左侧包含值的详细信息。 此组件可帮助我们将可用的屏幕空间划分为两个不重叠且可以水平滑动的不同侧面。 足够聪明地知道何时该启用滑动功能...

514

复制幻灯片到另一个PPT编程

请确保将源PPT文件和目标PPT文件的文件名修改为你实际使用的文件名。运行上述代码后,目标PPT将包含源PPT中的所有幻灯片和形状。这里假设源PPT文件名为"source.pptx",目标PPT文件名为"target.pptx"。方法将每个幻灯片的布局添加到目标PPT中。是一个强大的库,可以用于创建、修改和操作PPT文件。要将一个PPT中的幻灯片复制到另一个PPT,可以使用Python的。这段代码遍历源PPT的每个幻灯片,并使用。步骤 3: 打开源PPT和目标PPT。这将保存修改后的目标PPT文件。

ByteSparkX的博客 1322

SlidingPaneLayout使用用法

SlidingPaneLayout说明: 1.ViewGroup子类; 2.(同一平面上)是由水平的多个面板组成(左边侧滑面板,内容面板) 基本使用说明: 1.xml部分:     1》布局根视图为android.support.v4.widget.SlidingPaneLayout,指明id     2》第一个元素为左侧导航面板:(**这个和DrawerLay

yinbucheng的博客 2330

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

滑动面板布局(Sliding Pane Layout)指南

滑动面板布局(Sliding Pane Layout)指南 项目介绍 滑动面板布局(Sliding Pane Layout)是基于Android的一个开源库,由开发者Chiuki维护。它提供了一个类似Google Play Books的应用界面实现,允许用户通过滑动来显示或隐藏侧面菜单。这个库旨在简化具有侧边抽屉式导航的应用开发,给用户提供流畅的交互体验。通过自定义宽度比例,它可以适应多种屏幕尺...

gitblog_00162的博客 825

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

安卓SlidingPaneLayout

SlidingPaneLayout SlidingPaneLayout是Android在android-support-v4.jar中推出的一个可滑动面板的布局,在前面《Android开发笔记(一百零一)滑出式菜单》中,我们提到水平布局时的LinearLayout无法自动左右拉伸,必须借助于手势事件才能拉出左侧隐藏的布局,现在SlidingPaneLayout便是为了解决LinearLayout

lzhenj的博客 872

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android FoldingLayout 折叠布局 原理及实现(二)

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。还有高级架构技术进阶脑图、Android开发面试专题资料帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

2301_79655576的博客 1027

Android搭建简单的主体界面框架-SlidingPaneLayout

(文章虽然简单,但是总会有适合不同学习阶段的开发者和爱好者学习和交流。转载请注明出处,尊重劳动成果) 【一】大家应该都不会陌生,Android版腾讯QQ有一个主页面,侧滑展开个人设置中心。Menu界面和聊天Home界面还有缩放的效果。 今天我就分享一下我对这种操作的编写经验。以 SlidingPaneLayout 为基础 一下是图片简单展示 ①启动之后,侧滑可以展开左边的

765

SlidingPaneLayou和DrawerLayout的区别

SlidingPaneLayout: SlidingPaneLayout是Android在android-support-v4.jar中推出的一个可滑动面板的布局,我们提到水平布局时的LinearLayout无法自动左右拉伸,必须借助于手势事件才能拉出左侧隐藏的布局,现在SlidingPaneLayout便是为了解决LinearLayout无法自动拉伸的缺陷。只要我们在布局文件的SlidingP

qq_23939265的博客 553

Android实现自定义测滑栏

先上图,这是右侧 这是顶部 左边和下边的都类似,就不放图了,支持简单的手势和代码控制 在搞作业的时候需要这样的一个侧边栏功能,能够推挤主屏幕,不是DrawerLayout那种,百度找了好久,只发现一种android近版本中给出的一个Slidingpanelayout的布局,这个布局效果和上图这个类似,唯一不好的就是只有左侧边栏,(或者我没发现有其他设置)于是想到重写这个Slidingpanel...

学习使我快乐_玉祥 1233
上一篇: SlidingPaneLayout,DrawerLayout,ActionBar,NavigationView 详解 <一> DrawerLayout 和ActionBar的联动
下一篇: DrawerLayout 和ActionBar的联动中遇到问题,ActionBar 不能控制DrawerLayout
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值