控件PopupWindow的使用
来源:互联网 发布:北大青鸟计算机二级vb 编辑:程序博客网 时间:2024/06/11 10:09
package com.demo.rico_lesson_popupwindow;import android.app.Activity;import android.graphics.drawable.ColorDrawable;import android.os.Bundle;import android.util.DisplayMetrics;import android.view.Gravity;import android.view.KeyEvent;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnKeyListener;import android.widget.Button;import android.widget.LinearLayout.LayoutParams;import android.widget.PopupWindow;import android.widget.Toast;public class IndexActivity extends Activity { private Button mButtonShowPopupWindow; private int screenHeight; private void showPopupWindow() { LayoutInflater inflater = getLayoutInflater(); View contentView = inflater.inflate(R.layout.layout_popupwindow, null); // PopWindow 是必须要给高宽 final PopupWindow popupWindow = new PopupWindow(contentView, LayoutParams.MATCH_PARENT, this.screenHeight / 3); // 设置在其他空白区域触摸的时候,PopupWindow 消失 // 属性也可以在购置的时候来给 popupWindow.setFocusable(true); // 必须和上面代码配合,才有效 popupWindow.setBackgroundDrawable(new ColorDrawable(0x00000000)); // OnKey事件- 为了在PopupWindow弹出后,点击返回键,PopupWindow 消失 contentView.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { popupWindow.dismiss(); return true; } return false; } }); /** * 设置弹出的动画效果 */ popupWindow.setAnimationStyle(R.style.anim_popupwindow); // 设置PopupWindow 的位置 popupWindow.showAtLocation(contentView, Gravity.BOTTOM, 10, 10); } public void popupWindowItemClick(View view) { switch (view.getId()) { case R.id.popupwindow_1: Toast.makeText(this, "You click one", Toast.LENGTH_SHORT).show(); break; case R.id.popupwindow_2: Toast.makeText(this, "You click two", Toast.LENGTH_SHORT).show(); break; case R.id.popupwindow_3: Toast.makeText(this, "You click three", Toast.LENGTH_SHORT).show(); break; default: break; } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_index); DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); int width = metrics.widthPixels; // 屏幕的宽度(像素值) int height = metrics.heightPixels; // 屏幕的高度(像素值) this.screenHeight = height; float density = metrics.density; // 屏幕的密度 int densityDPI = metrics.densityDpi; // 屏幕的DPI // 打印以上的值 mButtonShowPopupWindow = (Button) findViewById(R.id.btn_show_popupwindow); mButtonShowPopupWindow.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { showPopupWindow(); } }); }}
0 0
- 控件PopupWindow的使用
- 下拉选择控件(PopupWindow)的使用
- Android关于PopupWindow控件的使用
- Android的PopupWindow控件详解
- Android PopupWindow的使用
- Android PopupWindow的使用
- Android PopupWindow的使用!!!
- 关于popupWindow的使用
- PopupWindow的使用
- PopupWindow的使用例子
- PopupWindow的使用
- popupWindow的使用心得
- PopupWindow的使用
- PopupWindow的使用
- Android PopupWindow的使用!!!
- PopupWindow的使用
- PopupWindow的使用
- popupWindow的使用
- 1
- shell基础语法
- pthread_once 和 pthread_key_t
- 解决Scrapy性能问题——案例二(含有阻塞的代码)
- iOS 单元测试OCMock介绍
- 控件PopupWindow的使用
- hbase shell基础和常用命令详解
- [LintCode] 逆序对 Reverse Pairs
- Servlet实现文件上传,可多文件上传
- Java String.split()用法小结
- Android studio中获取SHA1码及MD5码
- 项目后端知识点总结1
- Java基础随笔之枚举的前世今生
- c++对内存的浅谈以及内存泄漏问题的探讨之十