android popuwindow向上弹出效果
来源:互联网 发布:网络音乐服务器搭建 编辑:程序博客网 时间:2024/06/16 10:10
public class MainActivity extends Activity implements OnClickListener { private PopupWindow mPopupWindow2; private LinearLayout linear_layout; private RelativeLayout relative_main1,relative_main2,relative_main3; private TextView line_top,line_bottom; boolean isOpen = false; private ImageView imageview_arrow; private RelativeLayout relative_parent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initPopu(); linear_layout = (LinearLayout) findViewById(R.id.linear_layout); relative_main1 = (RelativeLayout) findViewById(R.id.relative_main1); relative_main2 = (RelativeLayout) findViewById(R.id.relative_main2); relative_main3 = (RelativeLayout) findViewById(R.id.relative_main3); line_top = (TextView) findViewById(R.id.line_top); line_bottom = (TextView) findViewById(R.id.line_bottom); imageview_arrow = (ImageView) findViewById(R.id.imageview_arrow); relative_parent = (RelativeLayout) findViewById(R.id.relative_parent); linear_layout.setOnClickListener(this); relative_main1.setOnClickListener(this); relative_main2.setOnClickListener(this); relative_main3.setOnClickListener(this);//点击空白处隐藏view relative_parent.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if(isOpen){ setViewVisble(isOpen); } return false; } }); }//初始化popuwindow private void initPopu() { mPopupWindow2 = new PopupWindow(this); mPopupWindow2.setBackgroundDrawable(new BitmapDrawable()); mPopupWindow2.setWidth(LayoutParams.WRAP_CONTENT); mPopupWindow2.setHeight(LayoutParams.WRAP_CONTENT); mPopupWindow2.setOutsideTouchable(false); mPopupWindow2.setFocusable(true); View content1 = this.getLayoutInflater().inflate(R.layout.popuwindow_item, null); mPopupWindow2.setContentView(content1); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.relative_main3: setViewVisble(isOpen); break; case R.id.relative_main1: showPopuwindow(v); break; case R.id.relative_main2: showPopuwindow(v); break; } } private void setViewVisble(boolean isO) { if(!isO){ relative_main1.setVisibility(View.VISIBLE); relative_main2.setVisibility(View.VISIBLE); line_top.setVisibility(View.VISIBLE); line_bottom.setVisibility(View.VISIBLE); imageview_arrow.setVisibility(View.GONE); isOpen = true; }else{ relative_main1.setVisibility(View.GONE); relative_main2.setVisibility(View.GONE); line_top.setVisibility(View.GONE); line_bottom.setVisibility(View.GONE); imageview_arrow.setVisibility(View.VISIBLE); isOpen = false; } }//展示popuwindow private void showPopuwindow(View v) { mPopupWindow2.setAnimationStyle(R.style.PopuwindowAnimStyle2); int xWidth = DensityUtil.dip2px(this,40); int[] location = new int[2]; v.getLocationOnScreen(location); mPopupWindow2.showAtLocation(v, Gravity.RIGHT|Gravity.TOP, v.getWidth()+xWidth, location[1]); }}
//activity_main 布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relative_parent" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_empty" android:layout_width="match_parent" android:layout_height="1dp" android:layout_centerVertical="true" android:background="@color/common_line" /> <LinearLayout android:id="@+id/linear_layout" android:layout_width="50dp" android:layout_height="wrap_content" android:layout_above="@id/tv_empty" android:layout_alignParentRight="true" android:layout_marginBottom="5dp" android:layout_marginRight="30dp" android:background="@drawable/shape_gray_round" android:orientation="vertical"> <RelativeLayout android:id="@+id/relative_main1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:paddingLeft="5dp" android:paddingRight="5dp" android:paddingTop="8dp" android:visibility="gone"> <TextView android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="124" android:textColor="@color/whole_color" android:textSize="12dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/tv1" android:layout_centerHorizontal="true" android:text="波动率" android:textSize="10dp" /> </RelativeLayout> <TextView android:id="@+id/line_top" android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginBottom="10dp" android:layout_marginTop="10dp" android:background="@color/common_line" android:visibility="gone" /> <RelativeLayout android:id="@+id/relative_main2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:paddingLeft="5dp" android:paddingRight="5dp" android:visibility="gone"> <TextView android:id="@+id/tv2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="234" android:textColor="@color/whole_color" android:textSize="12dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/tv2" android:layout_centerHorizontal="true" android:text="波动率" android:textSize="10dp" /> </RelativeLayout> <TextView android:id="@+id/line_bottom" android:layout_width="match_parent" android:layout_height="1dp" android:layout_marginBottom="10dp" android:layout_marginTop="10dp" android:background="@color/common_line" android:visibility="gone" /> <RelativeLayout android:id="@+id/relative_main3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:paddingBottom="8dp" android:paddingLeft="5dp" android:paddingRight="5dp"> <ImageView android:id="@+id/imageview_arrow" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="8dp" android:scaleType="centerInside" android:src="@drawable/arrow_up" /> <TextView android:id="@+id/tv3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/imageview_arrow" android:layout_centerHorizontal="true" android:text="中等" android:textColor="@color/whole_color" android:textSize="12dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/tv3" android:layout_centerHorizontal="true" android:text="风险" android:textSize="10dp" /> </RelativeLayout> </LinearLayout></RelativeLayout>
//popuwindow_item,布局文件
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="160dp" android:background="@drawable/shape_white_round" android:layout_height="wrap_content"> <TextView android:layout_width="160dp" android:layout_height="wrap_content" android:padding="5dp" android:text="lavpa,vpa,eeeeeeeeeeeeeeerv,vre"/></RelativeLayout>/**
*代码中涉及到的动画
*/
<style name="PopuwindowAnimStyle"> <item name="android:windowEnterAnimation">@anim/show_popuwindow</item> <item name="android:windowExitAnimation">@anim/hide_popuwindow</item></style><?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="0.5" android:toXScale="1.0" android:fromYScale="0.5" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:duration = "500"> </scale> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration = "500" /></set><?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="1.0" android:toXScale="0.5" android:fromYScale="1.0" android:toYScale="0.5" android:pivotX="50%" android:pivotY="50%" android:duration = "500"> </scale> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration = "500" /></set>
0 0
- android popuwindow向上弹出效果
- Android弹出窗口PopuWindow
- Android自定义View_底部弹出Popuwindow
- android 7.0 popuwindow 位置弹出错误bug
- android popuwindow
- android popuwindow
- Android 继承于PopuWindow的自定义弹出窗体
- Android Activity 淡入淡出和从底部向上弹出动画效果
- Android Activity 淡入淡出和从底部向上弹出动画效果
- Android Activity 淡入淡出和从底部向上弹出动画效果【转】
- popuwindow 增加动画效果
- Android 弹出键盘向上顶布局
- 关于PopuWindow的弹出方式
- popuwindow弹出时,背景半透明
- C# winform 窗体从右下角向上弹出窗口效果
- Activity从底部向上半透明弹出效果实现
- Android 点击赞时弹出+1向上弹出动画
- Android 点击赞时弹出+1向上弹出动画
- Codeforces Round #374 (Div. 2) C. Journey 拓扑排序+dp
- C#调用C/C++动态库 封送结构体,结构体数组
- 获得Android控件的真实宽高:
- 魅族手环成本曝光,499元亮相1206魅蓝note新品发布会
- python异常处理
- android popuwindow向上弹出效果
- 使用ObjectDataProvider 将函数应用到绑定
- 【计算机网络】数据通信的基础知识
- 获取Android系统的唯一识别码
- 域名转ip地址编程实现
- WSDL中文版——详解
- NYOJ--数字
- redis常用指令总结以及功能介绍
- Python快速查找list中相同部分