国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android自定義PopupWindow仿點擊彈出分享功能

2019-12-12 03:37:44
字體:
來源:轉載
供稿:網友

本文實例自定義PopupWindow,點擊彈出PopupWindow,背景變暗,仿點擊彈出分享功能,供大家參考,具體內容如下

注:參照大神代碼寫的

自定義代碼

package com.duanlian.popupwindowdemo;  import android.app.Activity; import android.content.Context; import android.graphics.drawable.ColorDrawable; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; import android.widget.LinearLayout; import android.widget.PopupWindow; import android.widget.TextView;  /**  * 自定義popupWindow  */  public class RewritePopwindow extends PopupWindow {   private View mView;    public RewritePopwindow(Activity context, View.OnClickListener itemsOnClick) {     super(context);     initView(context, itemsOnClick);   }    private void initView(final Activity context, View.OnClickListener itemsOnClick) {     LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);     mView = mInflater.inflate(R.layout.popupwindow_share, null);     LinearLayout weiXFriend = (LinearLayout) mView.findViewById(R.id.weixinghaoyou);     LinearLayout friendster = (LinearLayout) mView.findViewById(R.id.pengyouquan);     LinearLayout QQFriend = (LinearLayout) mView.findViewById(R.id.qqhaoyou);     LinearLayout QQZone = (LinearLayout) mView.findViewById(R.id.qqkongjian);     TextView canaleTv = (TextView) mView.findViewById(R.id.share_cancle);     canaleTv.setOnClickListener(new View.OnClickListener() {       @Override       public void onClick(View v) {          //銷毀彈出框         dismiss();         backgroundAlpha(context, 1f);       }     });     //設置按鈕監聽     weiXFriend.setOnClickListener(itemsOnClick);     friendster.setOnClickListener(itemsOnClick);     QQFriend.setOnClickListener(itemsOnClick);     QQZone.setOnClickListener(itemsOnClick);     //設置SelectPicPopupWindow的View     this.setContentView(mView);     //設置SelectPicPopupWindow彈出窗體的寬     this.setWidth(WindowManager.LayoutParams.FILL_PARENT);     //設置SelectPicPopupWindow彈出窗體的高     this.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);     //設置SelectPicPopupWindow彈出窗體可點擊     this.setFocusable(true);     //設置PopupWindow可觸摸     this.setTouchable(true);     //設置非PopupWindow區域是否可觸摸 //    this.setOutsideTouchable(false);     //設置SelectPicPopupWindow彈出窗體動畫效果 //    this.setAnimationStyle(R.style.select_anim);     //實例化一個ColorDrawable顏色為半透明     ColorDrawable dw = new ColorDrawable(0x00000000);     //設置SelectPicPopupWindow彈出窗體的背景     this.setBackgroundDrawable(dw);     backgroundAlpha(context, 0.5f);//0.0-1.0     this.setOnDismissListener(new OnDismissListener() {        @Override       public void onDismiss() {         // TODO Auto-generated method stub         backgroundAlpha(context, 1f);       }     });   }     /**    * 設置添加屏幕的背景透明度    *    * @param bgAlpha    */   public void backgroundAlpha(Activity context, float bgAlpha) {     WindowManager.LayoutParams lp = context.getWindow().getAttributes();     lp.alpha = bgAlpha;     context.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);     context.getWindow().setAttributes(lp);   }  } 

MainActivity中用

package com.duanlian.popupwindowdemo;  import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.Gravity; import android.view.View; import android.widget.Toast;  public class MainActivity extends AppCompatActivity {   private RewritePopwindow mPopwindow;    @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     findViewById(R.id.share).setOnClickListener(new View.OnClickListener() {       @Override       public void onClick(View view) {         mPopwindow = new RewritePopwindow(MainActivity.this, itemsOnClick);         mPopwindow.showAtLocation(view,             Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);       }     });   }    //為彈出窗口實現監聽類   private View.OnClickListener itemsOnClick = new View.OnClickListener() {      public void onClick(View v) {       mPopwindow.dismiss();       mPopwindow.backgroundAlpha(MainActivity.this, 1f);       switch (v.getId()) {         case R.id.weixinghaoyou:           Toast.makeText(MainActivity.this, "微信好友", Toast.LENGTH_SHORT).show();           break;         case R.id.pengyouquan:           Toast.makeText(MainActivity.this, "朋友圈", Toast.LENGTH_SHORT).show();           break;         case R.id.qqhaoyou:           Toast.makeText(MainActivity.this, "QQ好友", Toast.LENGTH_SHORT).show();           break;         case R.id.qqkongjian:           Toast.makeText(MainActivity.this, "QQ空間", Toast.LENGTH_SHORT).show();           break;         default:           break;       }     }    }; } 

布局文件--popupWindow布局

<?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"        >   <TextView     android:layout_width="match_parent"     android:alpha="0.2"     android:layout_height="match_parent"     android:layout_above="@+id/ll"/>  <LinearLayout   android:id="@+id/ll"   android:layout_width="match_parent"   android:layout_height="wrap_content"   android:layout_alignParentBottom="true"   android:orientation="vertical">   <LinearLayout     android:paddingBottom="30dp"     android:id="@+id/share_ll"     android:paddingTop="20dp"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:paddingRight="20dp"     android:background="#ebebeb"     android:paddingLeft="20dp"     android:orientation="horizontal"     >   <LinearLayout     android:id="@+id/weixinghaoyou"     android:layout_width="0dp"     android:layout_weight="1"     android:layout_height="wrap_content"     android:orientation="vertical"     >      <ImageView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_gravity="center"       android:background="@mipmap/icon_weixin_fenxiang"/>      <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:gravity="center"       android:onClick="share"       android:layout_gravity="center"       android:layout_marginTop="10dp"       android:text="微信好友"       android:textColor="#000000"/>   </LinearLayout>   <LinearLayout     android:id="@+id/pengyouquan"     android:layout_width="0dp"     android:layout_weight="1"     android:layout_height="wrap_content"     android:orientation="vertical"     >      <ImageView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_gravity="center"       android:background="@mipmap/icon_quan"/>      <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:gravity="center"       android:onClick="share"       android:layout_gravity="center"       android:layout_marginTop="10dp"       android:text="朋友圈"       android:textColor="#000000"/>   </LinearLayout>   <LinearLayout     android:id="@+id/qqhaoyou"     android:layout_width="0dp"     android:layout_weight="1"     android:layout_height="wrap_content"     android:orientation="vertical"     >      <ImageView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_gravity="center"       android:background="@mipmap/icon_qq_fenxiang"/>      <TextView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:gravity="center"       android:onClick="share"       android:layout_gravity="center"       android:layout_marginTop="10dp"       android:text="QQ"       android:textColor="#000000"/>   </LinearLayout>   <LinearLayout     android:id="@+id/qqkongjian"     android:layout_width="0dp"     android:layout_weight="1"     android:layout_height="wrap_content"     android:orientation="vertical"     >      <ImageView       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:layout_gravity="center"       android:background="@mipmap/icon_kongjian"/>      <TextView        android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:gravity="center"       android:onClick="share"       android:layout_gravity="center"       android:layout_marginTop="10dp"       android:text="QQ空間"       android:textColor="#000000"/>   </LinearLayout>   </LinearLayout>    <TextView     android:id="@+id/line"     android:layout_width="match_parent"     android:layout_height="0.5dp"     android:layout_below="@+id/share_ll"     android:background="#000000"/> <TextView   android:id="@+id/share_cancle"   android:layout_width="match_parent"   android:layout_height="wrap_content"   android:gravity="center"   android:textSize="20sp"   android:layout_below="@+id/line"   android:background="#f5f3f3"   android:paddingBottom="20dp"   android:paddingTop="20dp"   android:text="取消"/> </LinearLayout> </RelativeLayout> 

mainActivity的布局文件

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout   xmlns:android="http://schemas.android.com/apk/res/android"   xmlns:tools="http://schemas.android.com/tools"   android:id="@+id/activity_main"   android:layout_width="match_parent"   android:layout_height="match_parent"   tools:context="com.duanlian.popupwindowdemo.MainActivity">    <Button     android:id="@+id/share"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="點擊彈出"/> </RelativeLayout> 

demo下載地址:Android PopupWindow彈出分享

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇赉县| 罗田县| 通许县| 濮阳县| 方山县| 遂平县| 祥云县| 醴陵市| 庆元县| 富源县| 乡宁县| 天台县| 宣恩县| 金塔县| 广饶县| 江川县| 泾源县| 葵青区| 迁西县| 平塘县| 南陵县| 屯昌县| 扶沟县| 盐边县| 湘潭县| 锡林郭勒盟| 田东县| 长葛市| 彩票| 林州市| 佛坪县| 桦甸市| 犍为县| 孟津县| 青神县| 吴忠市| 安庆市| 合川市| 卢湾区| 大同市| 溆浦县|