直播原始碼網站,點選分類調起選單欄並彈出
直播原始碼網站,點選分類調起選單欄並彈出實現的相關程式碼
首先,宣告一個類繼承自PopupWindow (這裡你也可以在使用的activity/Fragment中使用new PopupWindow方式來實現)
public class DevicePopWindow extends PopupWindow { public DevicePopWindow(){ super(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT); //這裡要注意設定setOutsideTouchable之前要設定 setBackgroundDrawable() //否則點選外部無法關閉pop setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); setOutsideTouchable(true); //獲取焦點設定為true 這樣再次點選選單時 就隱藏選單 setFocusable(true); View inflate = LayoutInflater.from(BaseApplication.getAppContext()).inflate(R.layout.pop_window_device, null); setContentView(inflate); //設定視窗進入和退出的動畫 setAnimationStyle(R.style.pop_add); } } R.layout.pop_window_device.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:padding="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="8dp" android:background="@drawable/shape_device_pop" android:orientation="vertical" android:paddingBottom="20dp" android:paddingEnd="16dp" android:paddingStart="26dp" android:paddingTop="20dp"> <TextView android:id="@+id/tv_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="發起群聊" android:textColor="@color/colorBlack" android:textSize="16sp"/> <TextView android:id="@+id/tv_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="新增朋友" android:textColor="@color/colorBlack" android:textSize="16sp"/> <TextView android:id="@+id/tv_3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="掃一掃" android:textColor="@color/colorBlack" android:textSize="16sp"/> <TextView android:id="@+id/tv_4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="收付款" android:textColor="@color/colorBlack" android:textSize="16sp"/> <TextView android:id="@+id/tv_5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="幫助與反饋" android:textColor="@color/colorBlack" android:textSize="16sp"/> </LinearLayout> </LinearLayout>
R.style.pop_add 樣式
<style name="pop_add" parent="android:Animation"> <item name="android:windowEnterAnimation">@anim/pop_add_show</item> <item name="android:windowExitAnimation">@anim/pop_add_hide</item> </style> @anim/pop_add_show.xml pop彈出動畫 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="> <alpha android:duration="300" android:fromAlpha="0.0" android:toAlpha="1.0"/> <scale android:duration="300" android:fromXScale="0" android:fromYScale="0" android:interpolator="@android:anim/decelerate_interpolator" android:pivotX="85%" android:pivotY="0%" android:toXScale="1.0" android:toYScale="1.0"/> </set> @anim/pop_add_hide.xml pop隱藏動畫 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="> <alpha android:duration="300" android:fromAlpha="1.0" android:toAlpha="0.0"/> <scale android:duration="300" android:fromXScale="1.0" android:fromYScale="1.0" android:interpolator="@android:anim/accelerate_interpolator" android:pivotX="85%" android:pivotY="0%" android:toXScale="0" android:toYScale="0"/> </set>
在我們的頁面中進行使用
class DeviceFragment : Fragment() { lateinit var devicePopWindow: DevicePopWindow lateinit var rootView: View lateinit var successView:View override fun onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState): View { rootView = inflater.inflate(R.layout.base_device_fragment_layout,container,false) initView(inflater) initListener() return rootView } fun initView(inflate: View) { devicePopWindow = DevicePopWindow() } fun initListener() { rootView.findViewById<ImageView>(R.id.device_head_add).setOnClickListener { //設定pop顯示位置 devicePopWindow.showAsDropDown(it,-150,10) backgroundAlpha(0.8f) } //pop消失的監聽 devicePopWindow.setOnDismissListener { backgroundAlpha(1.0f) } } /** * 此方法用於改變背景的透明度,從而達到“變暗”的效果 */ private fun backgroundAlpha(bgAlpha: Float) { val lp: WindowManager.LayoutParams = activity!!.window.attributes // 0.0-1.0 lp.alpha = bgAlpha activity!!.window.attributes = lp // everything behind this window will be dimmed. // 此方法用來設定浮動層,防止部分手機變暗無效 activity!!.window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) } }
以上就是直播原始碼網站,點選分類調起選單欄並彈出實現的相關程式碼, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2852262/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播系統程式碼,點選選擇欄,彈出各個選項
- 直播網站原始碼,Android中點選圖片放大的簡單方法網站原始碼Android
- 直播軟體原始碼,選項提供多選專案,彈出多選框原始碼
- 成品直播原始碼推薦,Android 禁止下拉選單欄原始碼Android
- 直播平臺原始碼,可摺疊式選單欄原始碼
- 影片直播原始碼,預設展開側邊欄選單原始碼
- 直播網站程式原始碼,element el-menu,前端做選單搜尋網站原始碼前端
- 短視訊系統原始碼,點選選擇框,底部彈出可以選擇的選項原始碼
- 直播網站原始碼,點選EditText以外的區域,鍵盤隱藏消失網站原始碼
- 直播原始碼網站,點選圖片可進行任意方向旋轉功能原始碼網站
- 直播商城原始碼,AlertDialog.Builder 設定點選不關閉彈框原始碼UI
- 直播網站原始碼,安卓防止輸入框自動彈出網站原始碼安卓
- 直播原始碼網站,點選分享按鈕,分享到各個渠道功能的實現原始碼網站
- 視訊直播app原始碼,點選圖片放大再點選縮小APP原始碼
- 直播平臺開發,伸縮式選單,隨意調整選單欄橫向的大小
- 直播原始碼網站,各類進度條的設定與調整原始碼網站
- 直播網站原始碼,js動態追加 初始化下拉選項網站原始碼JS
- jQuery點選彈出側邊欄提示資訊皮膚特效jQuery特效
- app直播系統原始碼,點選生成條形碼APP原始碼
- 成品直播原始碼,點選滑動切換效果原始碼
- 爬取彼岸網站的桌布(分類可選)網站
- 點選彈出居中登陸框
- 視訊直播原始碼,提醒類彈窗,到時間後自動彈出原始碼
- 彈彈彈,彈走魚尾紋的彈出選單(vue)Vue
- 直播商城原始碼,PopupWindow選單在ListView中顯示原始碼View
- 直播網站原始碼,寫一個android底部導航欄框架網站原始碼Android框架
- 影片直播網站原始碼,flutter 頂部滾動欄頁面網站原始碼Flutter
- cad選單欄和工具欄都不見了 cad功能區怎麼調出來
- 表格單元格點選操作(彈窗)
- 導航欄點選選中
- JavaScript點選按鈕彈出層效果JavaScript
- jQuery點選小圖彈出大圖jQuery
- 工具欄選單
- app直播原始碼,RecycleView頁面的點選跳轉設計APP原始碼View
- 手機直播原始碼,點選按鈕,立即回到頂部原始碼
- 線上直播原始碼,開發一個下拉選單元件原始碼元件
- 直播網站原始碼,vue工具類,時間格式化網站原始碼Vue
- app直播原始碼,選取矩形框並進行文字標註APP原始碼