仓廪实则知礼节,衣食足则知荣辱。这篇文章主要讲述android Activity实现底部滑动弹出窗口及源码下载地址相关的知识,希望能为你提供帮助。
在做微信、微博、qq等分享时,一般是点击分享按钮后会从底部弹出滑动窗口,然后选择要分享的社交平台进行分享。今日头条、腾讯新闻等内容App的评论也是从底部滑动弹出输入窗口,进行评论输入的。本篇文章就讲讲怎么通过Activity实现底部弹出滑动窗口的。实现效果是通过Animation功能实现的,效果如下:
源码下载地址
【android Activity实现底部滑动弹出窗口及源码下载地址】
文章图片
主要代码如下:
一、滑动窗口PopupShareActivity类 继承自Activity并实现了OnClickListener,方便处理Click事件。代码如下: public class PopupShareActivity extends Activity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_popup_share); //全屏Activity操作 getWindow().setLayout(WindowManager.LayoutParams.FILL_PARENT, WindowManager.LayoutParams.FILL_PARENT); //QQ分享按钮 ImageBtn MyIBtn1 = (ImageBtn)findViewById(R.id.MyIBtn_1); MyIBtn1.setImageResource(R.drawable.ic_share_qq); MyIBtn1.setText("QQ"); ImageBtn MyIBtn2 = (ImageBtn)findViewById(R.id.MyIBtn_2); MyIBtn2.setImageResource(R.drawable.ic_share_sina); MyIBtn2.setText("微博"); ImageBtn MyIBtn3 = (ImageBtn)findViewById(R.id.MyIBtn_3); MyIBtn3.setImageResource(R.drawable.ic_share_wechat); MyIBtn3.setText("微信"); ImageBtn MyIBtn4 = (ImageBtn)findViewById(R.id.MyIBtn_4); MyIBtn4.setImageResource(R.drawable.ic_share_wxcircle); MyIBtn4.setText("朋友圈"); Button btn_cancel = (Button) this.findViewById(R.id.btn_cancel); btn_cancel.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btn_cancel: break; default: break; } finish(); } } 二、分享类布局 < ?xml version="1.0" encoding="utf-8"?> < RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"; android:layout_width="fill_parent" android:layout_height="wrap_content" xmlns:app="http://schemas.android.com/apk/res-auto"; android:gravity="center_horizontal" android:orientation="vertical"> < LinearLayout android:id="@+id/pop_layout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="vertical" android:layout_alignParentBottom="true" android:background="@color/color_white" > < LinearLayout android:id="@+id/share_layout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_alignParentBottom="true" android:background="@color/color_white" > < com.jxkj.bbccode.anxiuyunslid.component.ImageBtn android:id="@+id/MyIBtn_1" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1.0" android:clickable="true" android:focusable="true" /> < com.jxkj.bbccode.anxiuyunslid.component.ImageBtn android:id="@+id/MyIBtn_2" android:layout_width="0dp" android:layout_weight="1.0" android:layout_height="wrap_content" android:clickable="true" android:focusable="true" /> < com.jxkj.bbccode.anxiuyunslid.component.ImageBtn android:id="@+id/MyIBtn_3" android:layout_width="0dp" android:layout_weight="1.0" android:layout_height="wrap_content" android:clickable="true" android:focusable="true" /> < com.jxkj.bbccode.anxiuyunslid.component.ImageBtn android:id="@+id/MyIBtn_4" android:layout_width="0dp" android:layout_weight="1.0" android:layout_height="wrap_content" android:clickable="true" android:focusable="true" /> < /LinearLayout> < Button android:id="@+id/btn_cancel" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:layout_marginTop="15dip" android:layout_marginBottom="15dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="取消" android:textColor="#ffffff" android:textStyle="bold" /> < /LinearLayout> < /RelativeLayout> 三、androidManifest添加Activity配置 < activity android:name=".activity.PopupShareActivity" android:theme="@style/PopupShareActivity"> 四、PopupShareActivity主题 < style name="MyDialogStyleBottom" parent="Theme.AppCompat.Light.NoActionBar"> < item name="android:windowAnimationStyle"> @style/AnimBottom< /item> < item name="android:windowFrame"> @null< /item> < !-- 边框 --> < item name="android:windowIsFloating"> true< /item> < !-- 是否浮现在activity之上 --> < item name="android:windowIsTranslucent"> true< /item> < !-- 半透明 --> < item name="android:windowNoTitle"> true< /item> < !-- 无标题 --> < item name="android:windowBackground"> @android:color/transparent< /item> < !-- 背景透明 --> < item name="android:backgroundDimEnabled"> true< /item> < !-- 模糊 --> < /style> < style name="AnimBottom" parent="@android:style/Animation"> < item name="android:windowEnterAnimation"> @anim/push_bottom_in< /item> < item name="android:windowExitAnimation"> @anim/push_bottom_out< /item> < /style> 五、Animation动画效果 在anim目下下定义xml文件分别为:< !-- 上下滑入式 --> < set xmlns:android="http://schemas.android.com/apk/res/android"; > < translate android:duration="200" android:fromYDelta="100%p" android:toYDelta="0" /> < /set> < ?xml version="1.0" encoding="utf-8"?> < !-- 上下滑出式 --> < set xmlns:android="http://schemas.android.com/apk/res/android"; > < translate android:duration="200" android:fromYDelta="0" android:toYDelta="50%p" /> < /set>
推荐阅读
- ArcGISArcGIS Android SDK
- Two nodes of a BST are swapped, correct the BST
- 作业手机投票APP
- HBuilder入门(构建h5+APP)
- 南海区行政审批管理系统接口规范v0.3(规划) 2.业务申报API 2.1.businessApply业务申报
- Android Framework中的Application Framework层介绍
- App网络管理
- 解决Android SDK Manager下载太慢问题
- Android应用博客目录