Android简单实现自定义d框(PopupWindow)

Android简单实现自定义d框(PopupWindow),第1张

概述一:一般都是先上效果图二:实现步骤:1.xml布局实现<?xmlversion=\"1.0\"encoding=\"utf-8\"?>

一:一般都是先上效果图

二:实现步骤:

1.xml布局实现

<?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="@drawable/store_bgimg"> <relativeLayout androID:layout_wIDth="fill_parent" androID:layout_height="214dp" androID:layout_centerVertical="true" androID:layout_marginleft="31dp" androID:layout_marginRight="31dp" androID:background="@drawable/tkbjzj"> <TextVIEw  androID:ID="@+ID/tetle"  androID:layout_wIDth="wrap_content"  androID:layout_height="wrap_content"  androID:layout_centerHorizontal="true"  androID:layout_margintop="26dp"  androID:text="七天连锁酒店"  androID:textcolor="#262626"  androID:textSize="18dp" /> <TextVIEw  androID:ID="@+ID/textdz"  androID:layout_wIDth="wrap_content"  androID:layout_height="wrap_content"  androID:layout_below="@+ID/tetle"  androID:layout_centerHorizontal="true"  androID:layout_margintop="34dp"  androID:text="你已领取本店7.5折优惠券"  androID:textcolor="#ea302e" /> <VIEw  androID:layout_wIDth="match_parent"  androID:layout_height="0.5dp"  androID:layout_above="@+ID/lineardb"  androID:background="#e6e6e6" /> <linearLayout  androID:ID="@+ID/lineardb"  androID:layout_wIDth="match_parent"  androID:layout_height="44dp"  androID:layout_alignParentBottom="true">  <TextVIEw  androID:ID="@+ID/textwzdl"  androID:layout_wIDth="0dp"  androID:layout_height="fill_parent"  androID:layout_weight="1"  androID:gravity="center"  androID:text="我知道了"  androID:textcolor="#262626"  androID:textSize="16dp" />  <TextVIEw  androID:ID="@+ID/textckxq"  androID:layout_wIDth="0dp"  androID:layout_height="fill_parent"  androID:layout_weight="1"  androID:background="#f86c6a"  androID:gravity="center"  androID:text="查看详情"  androID:textcolor="#ffffff"  androID:textSize="16dp" /> </linearLayout> </relativeLayout></relativeLayout>

2.drawable文件下的转角,然后在布局引用

<?xml version="1.0" enCoding="utf-8"?><shape xmlns:androID="http://schemas.androID.com/apk/res/androID"> <!-- 背景颜色 --> <solID androID:color="#ffffff" /> <!-- 控制边界线颜色和大小 --> <stroke androID:wIDth="1dp" androID:color="#ffffff" /> <!-- 控制圆角大小 --> <corners androID:radius="4dp" /></shape>

3.activity的实现

/** * d框 */private VIEw mPopupheadVIEwy;//创建一个vIEwprivate PopupWindow mheadPopupclly;//PopupWindowprivate TextVIEw tetle,textdz;//Title,打折private TextVIEw textwzdl,textckxq;//我知道了,查看详情@SuppressWarnings("deprecation")private voID popupheadWindowcll() { mPopupheadVIEwy = VIEw.inflate(getActivity(),R.layout.tankuang_layout,null); tetle = (TextVIEw) mPopupheadVIEwy.findVIEwByID(R.ID.tetle); textdz = (TextVIEw) mPopupheadVIEwy.findVIEwByID(R.ID.textdz); textwzdl = (TextVIEw) mPopupheadVIEwy.findVIEwByID(R.ID.textwzdl); textckxq = (TextVIEw) mPopupheadVIEwy.findVIEwByID(R.ID.textckxq); mheadPopupclly = new PopupWindow(mPopupheadVIEwy,AbsListVIEw.LayoutParams.MATCH_PARENT,true); // 在PopupWindow里面就加上下面代码,让键盘d出时,不会挡住pop窗口。 mheadPopupclly.setinputMethodMode(PopupWindow.input_METHOD_NEEDED); mheadPopupclly.setSoftinputMode(WindowManager.LayoutParams.soFT_input_ADJUST_RESIZE); mheadPopupclly.setBackgroundDrawable(new BitmapDrawable()); mheadPopupclly.setoutsIDetouchable(true); mheadPopupclly.showAsDropDown(textvIEwID,0); textwzdl.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) {  mheadPopupclly.dismiss(); } }); textckxq.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) {  mheadPopupclly.dismiss();  Toast.makeText(getActivity(),"查看详情",Toast.LENGTH_LONG).show(); } });}

注意:

1、

mheadPopupclly = new PopupWindow(mPopupheadVIEwy,true);

这句代码就是控制d出框是铺满屏幕还是自适应

2、

mheadPopupclly.showAsDropDown(textvIEwID,0);

这句话是这个d框基于哪个控件之下,textvIEwID是控件名,后面两个是坐标

这是一个简单的自定义d框,大神勿喷,有用的希望顶一下

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程小技巧!

总结

以上是内存溢出为你收集整理的Android简单实现自定义d框(PopupWindow)全部内容,希望文章能够帮你解决Android简单实现自定义d框(PopupWindow)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1149678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存