直播原始碼網站,點選分類調起選單欄並彈出
直播原始碼網站,點選分類調起選單欄並彈出實現的相關程式碼
首先,宣告一個類繼承自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,前端做選單搜尋網站原始碼前端
- 長按tableViewCell彈出選單欄貼上板View
- 短視訊系統原始碼,點選選擇框,底部彈出可以選擇的選項原始碼
- 點選文字框彈出可檢索下拉選單程式碼例項
- 直播網站原始碼,安卓防止輸入框自動彈出網站原始碼安卓
- 直播網站原始碼,點選EditText以外的區域,鍵盤隱藏消失網站原始碼
- 直播原始碼網站,點選圖片可進行任意方向旋轉功能原始碼網站
- Path實現常見toolbar點選彈出選單效果
- 左鍵彈出選單
- 直播商城原始碼,AlertDialog.Builder 設定點選不關閉彈框原始碼UI
- 直播原始碼網站,點選分享按鈕,分享到各個渠道功能的實現原始碼網站
- 視訊直播app原始碼,點選圖片放大再點選縮小APP原始碼
- 直播平臺開發,伸縮式選單,隨意調整選單欄橫向的大小
- 直播網站原始碼,js動態追加 初始化下拉選項網站原始碼JS
- 直播原始碼網站,各類進度條的設定與調整原始碼網站
- 用VB編寫一個彈出選單類 (轉)
- 點選任意View彈出PickerView
- app直播系統原始碼,點選生成條形碼APP原始碼
- UITextView定製彈出選單UITextView
- QToolButton設定彈出選單QT
- 成品直播原始碼,點選滑動切換效果原始碼
- Android實現人人網點選“+”彈出效果Android
- 點選彈出鎖屏層例項程式碼
- 點選彈出半透明層程式碼例項
- 爬取彼岸網站的桌布(分類可選)網站
- ArcGIS API for Silverlight開發中滑鼠左鍵點選地圖上的點彈出視窗及右鍵點選彈出快捷選單的實現程式碼API地圖
- 視訊直播原始碼,提醒類彈窗,到時間後自動彈出原始碼
- 彈彈彈,彈走魚尾紋的彈出選單(vue)Vue
- 點選刪除彈出提示是否刪除程式碼
- 點選頂部彈出提示層程式碼例項
- jQuery點選顯示彈出層例項程式碼jQuery
- 線上直播原始碼,開發一個下拉選單元件原始碼元件