安卓开发:模仿微博中间加号按钮弹出发布页面
2017-02-17 16:39
375 查看
以下代码都是直接从项目里摘出来的,比较糙,代码写得也比较简单,相信很多人看一眼就知道怎么写了,凑合看吧,反正满足我们项目的需求了。
之前也写过,用两个popup来回切换实现的,在有的手机上老是有问题,所以这次就重新写了一个,效果比之前的好一点,都是最简单的代码,也不回存在什么兼容问题。
下面开始上代码:
首先定义好要显示的动画效果,下面有6个,一共用到了5个,最后一个是消失时候用的动画,可用可不用
然后就是各个点击事件的判断了,点不同按钮跳转不同的页面
上面是点击事件的判断,中间的
这些无非就是控制不同控件的显示隐藏,添加不同的动画而已
最后,附上布局文件
后续会补上Demo,就这样,拜拜
Demo链接在此:http://download.csdn.net/download/ximen_qing/9756977
不要钱
之前也写过,用两个popup来回切换实现的,在有的手机上老是有问题,所以这次就重新写了一个,效果比之前的好一点,都是最简单的代码,也不回存在什么兼容问题。
下面开始上代码:
首先定义好要显示的动画效果,下面有6个,一共用到了5个,最后一个是消失时候用的动画,可用可不用
/** * 从控件的底部移动到控件所在位置 */ public static TranslateAnimation moveToViewLocation() { TranslateAnimation mHiddenAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 1.0f, Animation.RELATIVE_TO_SELF, 0.0f); mHiddenAction.setDuration(300); return mHiddenAction; } /** * 从控件所在位置移动到左侧 */ public static TranslateAnimation moveToLeftHide() { TranslateAnimation mHiddenAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f); mHiddenAction.setDuration(300); return mHiddenAction; } /** * 从右侧移动到控件所在位置 */ public static TranslateAnimation moveToLeftShow() { TranslateAnimation mHiddenAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 1.0f, Animation.RELATIVE_TO_SELF, 0.0 4000 f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f); mHiddenAction.setDuration(300); return mHiddenAction; } /** * 从控件所在位置移动到右侧 */ public static TranslateAnimation moveToRightHide() { TranslateAnimation mHiddenAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 1.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f); mHiddenAction.setDuration(300); return mHiddenAction; } /** * 从左侧移动到控件所在位置 */ public static TranslateAnimation moveToRightShow() { TranslateAnimation mHiddenAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f); mHiddenAction.setDuration(300); return mHiddenAction; } /** * 从控件所在位置移动到控件的底部 */ public static TranslateAnimation moveToViewBottom() { TranslateAnimation mHiddenAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 1.0f); mHiddenAction.setDuration(300); return mHiddenAction; }
然后就是各个点击事件的判断了,点不同按钮跳转不同的页面
@Override public void onClick(View v) { switch (v.getId()) { case R.id.send_one_close_img: finish(); break; case R.id.send_two_close_img: finish(); break; case R.id.send_two_back_img: send_tab_two.setVisibility(View.GONE); send_tab_two.setAnimation(moveToRightHide()); send_tab_one.setVisibility(View.VISIBLE); send_tab_one.setAnimation(moveToRightShow()); break; case R.id.send_one_dongtai: Toast.makeText(context, "发布动态", Toast.LENGTH_SHORT).show(); finish(); break; case R.id.send_one_zijin: Toast.makeText(context, "发布资金", Toast.LENGTH_SHORT).show(); finish(); break; case R.id.send_one_shebei: send_two_qiu_img.setImageResource(R.mipmap.pic_fabu_shebei_zl); send_two_chu_img.setImageResource(R.mipmap.pic_fabu_shebei_cz); send_two_qiu_tv.setText("设备求租"); send_two_chu_tv.setText("设备出租"); send_tab_one.setVisibility(View.GONE); send_tab_one.setAnimation(moveToLeftHide()); send_tab_two.setVisibility(View.VISIBLE); send_tab_two.setAnimation(moveToLeftShow()); send_two_qiu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ActivitySendSelect.this, "设备出租", Toast.LENGTH_SHORT).show(); finish(); } }); send_two_chu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ActivitySendSelect.this, "设备求租", Toast.LENGTH_SHORT).show(); finish(); } }); break; case R.id.send_one_rencai: send_two_qiu_img.setImageResource(R.mipmap.pic_fabu_rencai_zm); send_two_chu_img.setImageResource(R.mipmap.pic_fabu_rencai_qz); send_two_qiu_tv.setText("人才招募"); send_two_chu_tv.setText("人才求职"); send_tab_one.setVisibility(View.GONE); send_tab_one.setAnimation(moveToLeftHide()); send_tab_two.setVisibility(View.VISIBLE); send_tab_two.setAnimation(moveToLeftShow()); send_two_qiu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ActivitySendSelect.this, "人才招募", Toast.LENGTH_SHORT).show(); finish(); } }); send_two_chu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ActivitySendSelect.this, "人才求职", Toast.LENGTH_SHORT).show(); finish(); } }); break; case R.id.send_one_changdi: send_two_qiu_img.setImageResource(R.mipmap.pic_fabu_changdi_zl); send_two_chu_img.setImageResource(R.mipmap.pic_fabu_changdi_cz); send_two_qiu_tv.setText("场地求租"); send_two_chu_tv.setText("场地出租"); send_tab_one.setVisibility(View.GONE); send_tab_one.setAnimation(moveToLeftHide()); send_tab_two.setVisibility(View.VISIBLE); send_tab_two.setAnimation(moveToLeftShow()); send_two_qiu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ActivitySendSelect.this, "场地求租", Toast.LENGTH_SHORT).show(); finish(); } }); send_two_chu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ActivitySendSelect.this, "场地出租", Toast.LENGTH_SHORT).show(); finish(); } }); break; case R.id.send_one_juben: send_two_qiu_img.setImageResource(R.mipmap.pic_fabu_juben_zj); send_two_chu_img.setImageResource(R.mipmap.pic_fabu_juben_cs); send_two_qiu_tv.setText("剧本征集"); send_two_chu_tv.setText("剧本出售"); send_tab_one.setVisibility(View.GONE); send_tab_one.setAnimation(moveToLeftHide()); send_tab_two.setVisibility(View.VISIBLE); send_tab_two.setAnimation(moveToLeftShow()); send_two_qiu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ActivitySendSelect.this, "剧本征集", Toast.LENGTH_SHORT).show(); finish(); } }); send_two_chu.setOnClic 11766 kListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ActivitySendSelect.this, "剧本出售", Toast.LENGTH_SHORT).show(); finish(); } }); break; default: break; } }
上面是点击事件的判断,中间的
send_tab_one.setVisibility(View.GONE); send_tab_one.setAnimation(moveToLeftHide()); send_tab_two.setVisibility(View.VISIBLE); send_tab_two.setAnimation(moveToLeftShow());
这些无非就是控制不同控件的显示隐藏,添加不同的动画而已
最后,附上布局文件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:clipToPadding="true" android:fitsSystemWindows="true"> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="80dp" android:layout_marginRight="80dp" android:layout_marginTop="34dp" android:src="@mipmap/pic_fabu_top" /> <TableLayout android:id="@+id/send_tab_one" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:visibility="gone"> <TableRow> <LinearLayout android:id="@+id/send_one_dongtai" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:layout_width="64dp" android:layout_height="64dp" android:src="@mipmap/pic_fabu_dongtai" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:text="动态" android:textSize="14dp" /> </LinearLayout> <LinearLayout android:id="@+id/send_one_zijin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:layout_width="64dp" android:layout_height="64dp" android:src="@mipmap/pic_fabu_zijin" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:text="资金" android:textSize="14dp" /> </LinearLayout> <LinearLayout android:id="@+id/send_one_shebei" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:layout_width="64dp" android:layout_height="64dp" android:src="@mipmap/pic_fabu_shebei" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:text="设备" android:textSize="14dp" /> </LinearLayout> </TableRow> <TableRow> <LinearLayout android:id="@+id/send_one_rencai" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:layout_width="64dp" android:layout_height="64dp" android:src="@mipmap/pic_fabu_rencai" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:text="人才" android:textSize="14dp" /> </LinearLayout> <LinearLayout android:id="@+id/send_one_changdi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:layout_width="64dp" android:layout_height="64dp" android:src="@mipmap/pic_fabu_changdi" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:text="场地" android:textSize="14dp" /> </LinearLayout> <LinearLayout android:id="@+id/send_one_juben" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:layout_width="64dp" android:layout_height="64dp" android:src="@mipmap/pic_fabu_juben" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:text="剧本" android:textSize="14dp" /> </LinearLayout> </TableRow> <ImageView android:id="@+id/send_one_close_img" android:layout_width="match_parent" android:layout_height="46dp" android:layout_marginBottom="10dp" android:background="@drawable/tm_selector_btn_anxia" android:src="@mipmap/pic_fabuquxiao" /> </TableLayout> <TableLayout android:id="@+id/send_tab_two" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:visibility="gone"> <TableRow> <LinearLayout android:id="@+id/send_two_qiu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:id="@+id/send_two_qiu_img" android:layout_width="64dp" android:layout_height="64dp" /> <TextView android:id="@+id/send_two_qiu_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:textSize="14dp" /> </LinearLayout> <LinearLayout android:id="@+id/send_two_chu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:id="@+id/send_two_chu_img" android:layout_width="64dp" android:layout_height="64dp" /> <TextView android:id="@+id/send_two_chu_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:textSize="14dp" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:layout_width="64dp" android:layout_height="64dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:textSize="14dp" /> </LinearLayout> </TableRow> <LinearLayout android:id="@+id/send_two_null" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="6dp" android:paddingTop="6dp"> <ImageView android:layout_width="64dp" android:layout_height="64dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:textSize="14dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="46dp" android:layout_marginBottom="10dp" android:orientation="horizontal"> <ImageView android:id="@+id/send_two_back_img" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:src="@mipmap/pic_fabufanhui" /> <TextView android:layout_width="1px" android:layout_height="match_parent" android:layout_marginBottom="10dp" android:layout_marginTop="10dp" android:background="#c8c8c8" /> <ImageView android:id="@+id/send_two_close_img" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/tm_selector_btn_anxia" android:src="@mipmap/pic_fabuquxiao" /> </LinearLayout> </TableLayout> </RelativeLayout>
后续会补上Demo,就这样,拜拜
Demo链接在此:http://download.csdn.net/download/ximen_qing/9756977
不要钱
相关文章推荐
- 安卓开发:eclipse中创建按钮,响应按钮事件并弹出对话框
- 安卓开发:自定义PopupWindow,实现模仿iOS底部弹出菜单
- 安卓开发学习之013 EditText应用详解(样式、背景、光标、错误提示、自定义带删除按钮、无弹出菜单)
- 学前端开发:js 原生模仿微博发布
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?(转自孟子E章)
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?(C#代码)
- 点击按钮弹出新窗口,输入数据后返回并刷新页面
- javascript 父页面单击按钮,弹出窗口,接受用户输入,关闭当前弹出窗口,返回父页面
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?
- ]如何点击按钮弹出新窗口,输入数据后返回并刷新页面?(C#代码)
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面[转载]
- 点击按钮弹出新窗口,输入数据后返回并刷新页面
- 生成静态页面 - 内容发布系统的开发
- WEB页面点图或按钮后弹出另存对话框
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?(C#代码)