1. 程式人生 > >Android自定義dialog並實現失去焦點,activity獲取焦點的功能

Android自定義dialog並實現失去焦點,activity獲取焦點的功能

前言:由於在專案中需要用到更新顯示動畫的需求,所以想到了dialog,自定義dialog不難,網上教程很多,但是在實現dialog背景透明的需求時,遇到了一點問題,網上的一些方法在我的機器上並沒有實現,只能曲折中找到了另一個方法實現。雖然有點麻煩,但畢竟效果不錯。

此方法寫在這裡,一是和各位分享,二是做個記錄,留待以後需求。

不說了,上程式碼:

下面是dialog自定義佈局檔案,是執行任務用的,參考即可。

01.<?xml version="1.0" encoding="utf-8"?> 03.android:layout_width="match_parent"
04.android:layout_height="match_parent" 05.android:orientation="horizontal" 06.> 07.<TextView 08.android:layout_height="wrap_content" 09.android:layout_width="wrap_content" 10.android:text="執行中" 11.android:textSize="18sp" 12./> 13.<ImageView 14.android:id="@+id/dialog_image" 15.android:layout_height=
"wrap_content"
16.android:layout_width="wrap_content" 17.android:layout_gravity="center" 18./> 19. 20. 21.</LinearLayout>

自定義dialog,執行任務的程式碼去掉了,可以加在onCreate()中。

01./** 02.* 執行狀態的對話方塊形式 03.* @author Administrator 04.* 05.*/ 06.class MyDialog extends Dialog{ 07.ImageView imageView;
08. 09.public MyDialog(Context context) { 10.super(context); 11.// TODO Auto-generated constructor stub 12.} 13. 14.public MyDialog(Context context,int theme) { 15.super(context, theme); 16.// TODO Auto-generated constructor stub 17.} 18. 19.@Override 20.protected void onCreate(Bundle savedInstanceState) { 21.// TODO Auto-generated method stub 22.super.onCreate(savedInstanceState); 23. 24.//去掉activity標題 25.requestWindowFeature(Window.FEATURE_NO_TITLE); 26. 27.setContentView(R.layout.dialog); 28.//設定標題 29.imageView = (ImageView)findViewById(R.id.dialog_image); 30.} 31.}
在實現之前,實驗了dialog設定flag的方法,有人說可以,但是我並沒有實現。也把程式碼留下,以作參考: 1.//使dialog失去焦點 2.dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, 3.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); 4.dialog.setCanceledOnTouchOutside(true);
真正實現的方法是使用style實現的,這個需要兩個資原始檔,一個color,一個style。 1.<color name="transparent">#00000000</color>
1.<style name="dialog" parent="@android:style/Theme.Dialog"> 2.<item name="android:windowFrame">@null</item><!--邊框--> 3.<item name="android:windowIsFloating">true</item><!--是否浮現在activity之上--> 4.<item name="android:windowIsTranslucent">false</item><!--半透明--> 5.<item name="android:windowNoTitle">true</item><!--無標題--> 6.<item name="android:windowBackground">@color/transparent</item><!--背景透明--> 7.<item name="android:backgroundDimEnabled">false</item><!--模糊--> 8.</style>
設定好資原始檔之後,在呼叫時生成例項程式碼如下:

相關推薦

android 定義dialog實現失去焦點(背景透明)的功能

前言:由於在專案中需要用到更新顯示動畫的需求,所以想到了dialog,自定義dialog不難,網上教程很多,但是在實現dialog背景透明的需求時,遇到了一點問題,網上的一些方法在我的機器上並沒有實現,只能曲折中找到了另一個方法實現。雖然有點麻煩,但畢竟效果不錯。 此方法寫

Android定義dialog實現失去焦點activity獲取焦點功能

前言:由於在專案中需要用到更新顯示動畫的需求,所以想到了dialog,自定義dialog不難,網上教程很多,但是在實現dialog背景透明的需求時,遇到了一點問題,網上的一些方法在我的機器上並沒有實現,只能曲折中找到了另一個方法實現。雖然有點麻煩,但畢竟效果不錯。 此方

android 自己定義dialog實現失去焦點(背景透明)的功能

super 效果 andro 教程 his 布局 .com tle near 前言:因為在項目中須要用到更新顯示動畫的需求,所以想到了dialog,自己定義dialog不難。網上教程非常多,可是在實現dialog背景透明的需求時,遇到了一點問題。網上的一些方法在我的機器

android 定義dialog實現方法

listener params .get animator miss nim style wrap 參數 最近一直在做 java 相關的東西, 雖然一直在看 Android 但感覺有點留於理論,總這樣畢竟不行,寫的多不一定懂得多,但要想懂得多就一定要寫的多,於是今天動手寫了

android 定義dialog實現定義大小、去除黑色邊框等)

搜尋相關關鍵字網上一大堆實現,但是看完總覺得缺胳膊少腿,繞了不少彎路,終於弄好了自定義dialog。把自己整合的完整程式碼發上來。 要點: 1、設定自定義dialog的佈局檔案my_dialog.xml 2、設定一份自定義的樣式檔案styles_wx.xml,該檔案用於覆

Android 定義跑馬燈 實現超長文字滾動完當前在繼續切換下一條

1 前言 最近專案上有一個跑馬燈的需求。 需求: 無限滾動,可以自動切換下一條 如果當前的文字超過一屏,則滾動完當前再切換下一條 第一點很簡單,但是第二點就比較蛋疼了,看了網上很多輪子都沒有太合適的,於是自己寫了一個。 記錄總結一下Android 跑馬燈的

Android 定義DialogActivity實現按鈕監聽。

實際開發中,經常會用到Dialog,比如退出時候會彈出是否退出,或者還有一些編輯框也會用Dialog實現,效果圖如下: 開發中遇到的問題無非在於如果在Activity中監聽這個Dialog中實現的按鈕,Dialog類如下,在MyDialog這個類中實現了一個LeaveMyDialogLi

我的Android進階之旅------>Android定義View來實現解析lrc歌詞同步滾動、上下拖動、縮放歌詞的功能

前言 最近有個專案有關於播放音樂時候,關於歌詞有以下幾個功能: 1、實現歌詞同步滾動的功能,即歌曲播放到哪句歌詞,就高亮地顯示出正在播放的這個歌詞; 2、實現上下拖動歌詞時候,可以拖動播放器的進度。即可以不停地上下拖動歌詞,

Android定義Dialog,實現性別選擇,日期選擇,獲取EditText內容

Android 自定義 Dialog ,實現 性別選擇,日期選擇和 自定義佈局獲取EditText內容 Dialog類是對話方塊的基類,但是應該避免直接例項化Dialog,而是應該儘量使用下列子列之一 : AlertDialog 此對話方塊可

Django定義UserModel實現認證和登錄

eric one email post blog rac ner self object 自定義UserModel 環境:django 1.9.11+python 2.7 from django.contrib.auth.models import AbstractUse

Android定義Dialog多選對話框(Dialog+Listview+CheckBox)

dia bundle adapter get etl wrap 點擊 所有 技術 先放效果截圖 項目中需要有個Dialog全選對話框,點擊全選全部選中,取消全選全部取消。下午查了些資料,重寫了一下Dialog對話框。把代碼放出來。 public class MainAct

Android 定義Dialog小結

關於自定義佈局的Dialog,總是會遇到各種各樣的問題,作為一個菜鳥,想想還是打算專門開一篇總結自己遇到的各種問題。歡迎大佬們指點 自定義佈局寬度和位置問題 自定義佈局,就是自己自由地設定Dialog的樣式,所以肯定會自己寫一個Layout佈局,並把它加載出來,這才是我們想要的,但是經常會出

【舉例】Android定義Dialog——做出“確定/取消”的選擇

1、自定義Dialog的介面 <--!dialog_yesorno_for_permission.xml--> <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="

【舉例】Android定義Dialog——選擇一個RadioButton

1. 自定義Dialog的介面 <--!dialog_selectserver.xml--> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sch

Android--定義Dialog,仿IOS對話方塊樣式

效果: 實現: 1.dialog_layout.xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/ap

Android 定義dialog步驟

1.建類繼承dialog 2.寫構造方法 3.宣告各類控制元件 4.寫oncreate() setContentView引入佈局 初始化宣告的控制元件 5.可以自定義style 6.可以申明內部介面並建立內部例項用於點選事件中,然後讓外部引用者實現介面方法 7.可以重

Android定義View的實現方法帶你一步步深入瞭解View(四)

不知不覺中,帶你一步步深入瞭解View系列的文章已經寫到第四篇了,回顧一下,我們一共學習了LayoutInflater的原理分析、檢視的繪製流程、檢視的狀態及重繪等知識,算是把View中很多重要的知識點都涉及到了。如果你還沒有看過我前面的幾篇文章,建議先去閱讀一下,多瞭解一些

Android定義View的實現方法 帶你一步步深入瞭解View 四

                不知不覺中,帶你一步步深入瞭解View系列的文章已經寫到第四篇了,回顧一下,我們一共學習了LayoutInflater的原理分析、檢視的繪製流程、檢視的狀態及重繪等知識,算是把View中很多重要的知識點都涉及到了。如果你還沒有看過我前面的幾篇文章,建議先去閱讀一下,多瞭解一些原

Android 定義Dialog小結

關於自定義佈局的Dialog,總是會遇到各種各樣的問題,作為一個菜鳥,想想還是打算專門開一篇總結自己遇到的各種問題。歡迎大佬們指點 自定義佈局寬度和位置問題 自定義佈局,就是自己自由地設定Dialog的樣式,所以肯定會自己寫一個Layout佈局,並把它加載出來,這才是我們

Android定義View繪圖實現拖影動畫

前幾天在“Android繪圖之漸隱動畫”一文中通過畫線實現了漸隱動畫,但裡面有個問題,畫筆較粗(大於1)時線段之間會有裂隙,我又改進了一下。這次效果好多了。 先看效果吧: 然後我們來說說基本的做法: 根據畫筆寬度,計算每一條線段兩個頂點對應的四個點,