大佬教程收集整理的这篇文章主要介绍了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://scheR_429_11845@as.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滑动关闭效果所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。