Android(安卓)Popupwindow 点击外部消失的实现
16lz
2021-12-04
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${relativePackage}.${activityClass}" > <TextView android:id="@+id/tv_hello" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /></RelativeLayout>
package com.hyc.popupwindowdemo;import android.app.Activity;import android.graphics.drawable.ColorDrawable;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup.LayoutParams;import android.widget.PopupWindow;import android.widget.TextView;public class MainActivity extends Activity implements OnClickListener {private TextView tvHello = null;private PopupWindow mPopupWindow = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tvHello = (TextView) findViewById(R.id.tv_hello);tvHello.setOnClickListener(this);}@Overridepublic void onClick(View v) {TextView tv = new TextView(this);tv.setWidth(LayoutParams.WRAP_CONTENT);tv.setHeight(LayoutParams.WRAP_CONTENT);tv.setText("ok");
//注意:以下代码的顺序不可颠倒mPopupWindow = new PopupWindow(tv, 100, 100);mPopupWindow.setFocusable(true);mPopupWindow.setOutsideTouchable(true);mPopupWindow.update();mPopupWindow.setBackgroundDrawable(new ColorDrawable(0));mPopupWindow.showAsDropDown(tvHello);}}
更多相关文章
- 非UI线程可不可以更新UI(一)
- Android项目中如果json字符串中key-value顺序很重要,不要使用Andr
- Android中设置控件可见与不可见
- Android中设置控件可见与不可见详解
- android根据姓名首字母字符顺序读取通信录
- 【Android】AS环境下,在布局中使用android:gravity="left/right"
- 设置EditText可点击但是不可编辑
- android动态给view设置可见、不可见属性
- android 的relativelayout 报错 No resource found that matches