全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android仿微信activity滑动关闭效果

Android仿微信activity滑动关闭功能

1.利用具体利用v4包下的slidingPaneLayout实现透明的activity,代码如下:

BaseActivity:
public class BaseSlideCloseActivity extends AppCompatActivity implements
  SlidingPaneLayout.PanelSlideListener {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  initSlideBackClose();
  super.onCreate(savedInstanceState);
 }

 private void initSlideBackClose() {
  if (isSupportSwipeBack()) {
   SlidingPaneLayout slidingPaneLayout = new SlidingPaneLayout(this);
   // 通过反射改变mOverhangSize的值为0,
   // 这个mOverhangSize值为菜单到右边屏幕的最短距离,
   // 默认是32dp,现在给它改成0
   try {
    Field overhangSize = SlidingPaneLayout.class.getDeclaredField("mOverhangSize");
    overhangSize.setAccessible(true);
    overhangSize.set(slidingPaneLayout, 0);
   } catch (Exception e) {
    e.printStackTrace();
   }
   slidingPaneLayout.setPanelSlideListener(this);
   slidingPaneLayout.setSliderFadeColor(getResources()
     .getColor(android.R.color.transparent));

   // 左侧的透明视图
   View leftView = new View(this);
   leftView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
   slidingPaneLayout.addView(leftView, 0);

   ViewGroup decorView = (ViewGroup) getWindow().getDecorView();


   // 右侧的内容视图
   ViewGroup decorChild = (ViewGroup) decorView.getChildAt(0);
   decorChild.setBackgroundColor(getResources()
     .getColor(android.R.color.white));
   decorView.removeView(decorChild);
   decorView.addView(slidingPaneLayout);

   // 为 SlidingPaneLayout 添加内容视图
   slidingPaneLayout.addView(decorChild, 1);
  }
 }

 protected boolean isSupportSwipeBack() {
  return true;
 }

 @Override
 public void onPanelSlide(View panel, float slideOffset) {

 }

 @Override
 public void onPanelOpened(View panel) {
  finish();
 }

 @Override
 public void onPanelClosed(View panel) {

 }
}

activity 透明style:

<resources xmlns:tools="http://schemas.android.com/tools">

 <!-- Base application theme. -->
 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  <!-- Customize your theme here. -->
  <item name="colorPrimary">@color/colorPrimary</item>
  <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
  <item name="colorAccent">@color/colorAccent</item>
 </style>

 <style name="DIY.SlideClose.Transparent.Theme" parent="AppTheme">
  <item name="android:windowBackground">@android:color/transparent</item>
  <item name="android:windowIsTranslucent">true</item>
  <item name="android:windowAnimationStyle">@style/DIY.Animation.SlidingBack</item>
  <item name="android:actionBarStyle">@style/DIYActionBar.Custom</item>
 </style>

 <style name="DIYActionBar.Custom" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
  <item name="displayOptions">showCustom</item>
  <item name="android:background">@android:color/transparent</item>
  <item name="background">@android:color/transparent</item>
  <item name="android:displayOptions" tools:ignore="NewApi">showCustom</item>
  <item name="android:height">?actionBarSize</item>
 </style>

 <style name="DIY.Animation.SlidingBack" parent="@android:style/Animation.Activity">
  <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item>
  <item name="android:activityOpenExitAnimation">@anim/slide_out_right</item>
  <item name="android:activityCloseEnterAnimation">@anim/slide_in_right</item>
  <item name="android:activityCloseExitAnimation">@anim/slide_out_right</item>
  <item name="android:wallpaperOpenEnterAnimation">@anim/slide_in_right</item>
  <item name="android:wallpaperOpenExitAnimation">@anim/slide_out_right</item>
  <item name="android:wallpaperCloseEnterAnimation">@anim/slide_in_right</item>
  <item name="android:wallpaperCloseExitAnimation">@anim/slide_out_right</item>
  <item name="android:wallpaperIntraOpenEnterAnimation">@anim/slide_in_right</item>
  <item name="android:wallpaperIntraOpenExitAnimation">@anim/slide_out_right</item>
  <item name="android:wallpaperIntraCloseEnterAnimation">@anim/slide_in_right</item>
  <item name="android:wallpaperIntraCloseExitAnimation">@anim/slide_out_right</item>
 </style>
 
</resources>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android仿微信activity滑动关闭  # Android仿微信activity  # Android滑动关闭  # Android 关闭多个Activity的实现方法  # Android 侧滑关闭Activity的实例  # Android中Activity滑动关闭的效果  # Android利用Intent启动和关闭Activity  # Android实现退出时关闭所有Activity的方法  # android开发之关闭所有的activity的方法  # 值为  # 最短  # 给它  # 大家多多  # printStackTrace  # setPanelSlideListener  # catch  # Exception  # getColor  # android  # setSliderFadeColor  # getResources  # getDeclaredField  # return  # transparent  # overhangSize  # true  # set  # boolean  # setAccessible 


相关文章: 手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  网站制作员失业,怎样查看自己网站的注册者?  建站之星如何取消后台验证码生成?  公司门户网站制作流程,华为官网怎么做?  建站之家VIP精选网站模板与SEO优化教程整合指南  哈尔滨网站建设策划,哈尔滨电工证查询网站?  平台云上自助建站如何快速打造专业网站?  如何选择适配移动端的WAP自助建站平台?  建站之星多图banner生成与模板自定义指南  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  如何快速选择适合个人网站的云服务器配置?  家庭建站与云服务器建站,如何选择更优?  制作网站的公司有哪些,做一个公司网站要多少钱?  广州商城建站系统开发成本与周期如何控制?  如何在Golang中指定模块版本_使用go.mod控制版本号  如何通过二级域名建站提升品牌影响力?  如何快速使用云服务器搭建个人网站?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何用免费手机建站系统零基础打造专业网站?  如何配置支付宝与微信支付功能?  建站上传速度慢?如何优化加速网站加载效率?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  如何用5美元大硬盘VPS安全高效搭建个人网站?  再谈Python中的字符串与字符编码(推荐)  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  如何通过老薛主机一键快速建站?  如何通过.red域名打造高辨识度品牌网站?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何在IIS中新建站点并解决端口绑定冲突?  如何用y主机助手快速搭建网站?  如何快速配置高效服务器建站软件?  ,巨量百应是干嘛的?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何基于PHP生成高效IDC网络公司建站源码?  建站之星如何助力网站排名飙升?揭秘高效技巧  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  建站三合一如何选?哪家性价比更高?  如何快速搭建个人网站并优化SEO?  建站之星代理平台如何选择最佳方案?  如何选择最佳自助建站系统?快速指南解析优劣  ,如何利用word制作宣传手册?  php json中文编码为null的解决办法  如何快速搭建FTP站点实现文件共享?  独立制作一个网站多少钱,建立网站需要花多少钱?  黑客如何通过漏洞一步步攻陷网站服务器?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何选择高效便捷的WAP商城建站系统? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。