SwipeBackLayout的一个让人揪心的问题
Google 新品发布会,我就不想说了,太烂了,其他的不多说。
今天愣是被一个问题给搞蒙,虽然待会还要坐车回家过十一,但是还是趁着现在的时间,总结一下自己的问题。
看到网易财经的交互不是很友好,对于习惯了IOS手机操作的人来说,滑动就关掉当前页面是个很好的交互,对于单手操作尤其方便,但是Android系统是不提供这种交互的,所以有些APP就做了,如网易新闻、简书等,这能极大方便用户。
SwipeBackLayout
这不我也给财经APP加上,用的是SwipeBackLayout这个还蛮好用的,所以就重点推荐它吧。
使用就不用说了吧,直接继承SwipeBackActivity
这个类,
1 | public class SwipeBackActivity extends BaseActivity implements SwipeBackActivityBase { |
其他的不变,不过这样可以左右滑动,但是下面的页面是黑乎乎的,那是因为你只是滑动了Activity的contentView,至于他们的之间的关系,建议你google下Activity,Window,DecorView就知道了(要看最新的,DecorView以前是个线性布局,现在最新的是FrameLayout)。
所以需要将window设置为透明:
1 | <item name="android:windowIsTranslucent">true</item> |
问题
这样问题就来了,我以前是给activity设置了windowAnimationStyle
,现在全部失效,我给跪了。
<item name="android:activityOpenExitAnimation">@anim/hold</item>
<item name="android:activityCloseEnterAnimation">@anim/hold</item>
<item name="android:activityOpenEnterAnimation">@anim/slide_in_from_bottom</item>
……
这个也有人遇到了:issue。
参照下面的问题,我找到这个了,发现居然又解决方案:方案。不过我们需要为Activity的task的其他属性。
好了说多了多是泪,还是有时间自己也模仿着写个吧。
十一了,快回家了,先祝媳妇十一快乐,感觉最对不起的就是她。
- 本文链接:http://ownwell.github.io/2015/09/30/swipeback-windowIsTranslucent/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!