您的位置:首页 > 移动开发 > Android开发

Android底部弹出的View,可自定义布局

2014-06-25 14:23 357 查看
这里分享一个Android的非常经典实用而且简单方便的第三方UI控件库:BottomView(小米的米UI也用到了这个)

实现功能:

可以在底部弹出的View里自定义布局;

可以自定义是否可以触摸外部消失;

可以自定义事件;

可以自定义外围背景是否透明;

可以自定义动画;

如果需要的话,可以强制为顶部View显示

BottomView.jar库文件下载地址:http://download.csdn.net/detail/jay100500/7547055

BottomView的Demo下载地址:http://download.csdn.net/detail/jay100500/7547049

用法:

1、下载BottomView.jar库文件,放到Android项目工程里的libs里

2、设置BottomView的Theme:

这2个Theme复制粘贴到你的项目的res/values/styles.xml里即可

[html] view
plaincopy





<!--半透明背景Theme-->

<style name="BottomViewTheme_Defalut">

<item name="android:windowFrame">@null</item>

<item name="android:windowContentOverlay">@null</item>

<item name="android:windowIsFloating">true</item>

<item name="android:windowIsTranslucent">false</item>

<item name="android:windowNoTitle">true</item>

<item name="android:windowBackground">@color/white</item>

<item name="android:backgroundDimEnabled">true</item>

<item name="android:windowFullscreen">true</item>

</style>

lt;!--透明背景Theme-->

<style name="BottomViewTheme_Transparent">

<item name="android:windowFrame">@null</item>

<item name="android:windowIsFloating">true</item>

<!-- Transparent -->

<item name="android:windowIsTranslucent">false</item>

<item name="android:windowContentOverlay">@null</item>

<item name="android:windowNoTitle">true</item>

<item name="android:windowBackground">@color/white</item>

<item name="android:backgroundDimEnabled">false</item>

</style>

另外如果提示

[html] view
plaincopy





<item name="android:windowBackground">@color/white</item>

这里的white找不到的话,说明你项目res/values/color.xml没有新建或者没有white颜色这个值,只需在res/values/color.xml里添加

[html] view
plaincopy





<color name="white">#ffffff</color>

这个白色值即可。

另外View的动画Theme可选,建议也复制进去,效果好一些,代码如下:

[html] view
plaincopy





<style name="BottomToTopAnim" parent="android:Animation">

<item name="@android:windowEnterAnimation">@anim/bottomview_anim_enter</item>

<item name="@android:windowExitAnimation">@anim/bottomview_anim_exit</item>

</style>

res/anim/bottomview_anim_enter.xml

[html] view
plaincopy





<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android" >

<translate

android:duration="500"

android:fromYDelta="100%p" />

</set>

res/anim/bottomview_anim_exit.xml

[html] view
plaincopy





<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android" >

<translate

android:duration="500"

android:toYDelta="100%p" />

</set>

整体为:



2、部分核心使用代码:

[java] view
plaincopy





BottomView bottomView = new BottomView(this,

R.style.BottomViewTheme_Defalut, R.layout.bottom_view);

bottomView.setAnimation(R.style.BottomToTopAnim);//设置动画,可选

bottomView.showBottomView(false);

如果想获取这个View的话,调用.getView()方法即可。
效果图之一:(可随意发挥)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: