最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實(shí)現(xiàn)可輸入數(shù)據(jù)的彈出框

 更新時(shí)間:2016年01月11日 16:56:21   作者:無緣公子  
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)可輸入數(shù)據(jù)的彈出框,文章提供了兩種方式,示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

之前一篇文章,介紹了如何定義從屏幕底部彈出PopupWindow即《Android Animation實(shí)戰(zhàn)之屏幕底部彈出PopupWindow》寫完之后,突然想起之前寫過自定義內(nèi)容顯示的彈出框,就隨手寫了兩個實(shí)例,分享出來:

第一種實(shí)現(xiàn)方式:繼承Dialog

1.1 線定義彈出框要顯示的內(nèi)容:create_user_dialog.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:id="@+id/create_user_dialog_view" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:background="@drawable/dialog_load_bg" 
 android:minWidth="200dp" 
 android:orientation="vertical" 
 android:padding="10dp" 
 android:paddingBottom="30dp" 
 android:paddingTop="30dp"> 
 
 <EditText 
 android:id="@+id/text_name" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:background="@drawable/edit_bg" 
 android:hint="姓名" 
 android:minHeight="45dp" 
 android:textSize="18sp" /> 
 
 <EditText 
 android:id="@+id/text_mobile" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:layout_marginTop="5dp" 
 android:background="@drawable/edit_bg" 
 android:hint="手機(jī)號" 
 android:minHeight="45dp" 
 android:textSize="18sp" /> 
 
 <EditText 
 android:id="@+id/text_info" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:layout_marginTop="5dp" 
 android:background="@drawable/edit_bg" 
 android:gravity="top|left" 
 android:hint="個性簽名" 
 android:minHeight="145dp" 
 android:textSize="18sp" /> 
 
 <Button 
 android:id="@+id/btn_save_pop" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:layout_marginTop="5dp" 
 android:text="保存" /> 
 
</LinearLayout> 

 1.2 定義要彈出的Dialog

public class CreateUserDialog extends Dialog { 
 
 /** 
 * 上下文對象 * 
 */ 
 Activity context; 
 
 private Button btn_save; 
 
 public EditText text_name; 
 
 public EditText text_mobile; 
 
 public EditText text_info; 
 
 
 private View.OnClickListener mClickListener; 
 
 public CreateUserDialog(Activity context) { 
 super(context); 
 this.context = context; 
 } 
 
 public CreateUserDialog(Activity context, int theme, View.OnClickListener clickListener) { 
 super(context, theme); 
 this.context = context; 
 this.mClickListener = clickListener; 
 } 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 // 指定布局 
 this.setContentView(R.layout.create_user_dialog); 
 
 text_name = (EditText) findViewById(R.id.text_name); 
 text_mobile = (EditText) findViewById(R.id.text_mobile); 
 text_info = (EditText) findViewById(R.id.text_info); 
 
 /* 
 * 獲取圣誕框的窗口對象及參數(shù)對象以修改對話框的布局設(shè)置, 可以直接調(diào)用getWindow(),表示獲得這個Activity的Window 
 * 對象,這樣這可以以同樣的方式改變這個Activity的屬性. 
 */ 
 Window dialogWindow = this.getWindow(); 
 
 WindowManager m = context.getWindowManager(); 
 Display d = m.getDefaultDisplay(); // 獲取屏幕寬、高用 
 WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 獲取對話框當(dāng)前的參數(shù)值 
 // p.height = (int) (d.getHeight() * 0.6); // 高度設(shè)置為屏幕的0.6 
 p.width = (int) (d.getWidth() * 0.8); // 寬度設(shè)置為屏幕的0.8 
 dialogWindow.setAttributes(p); 
 
 // 根據(jù)id在布局中找到控件對象 
 btn_save = (Button) findViewById(R.id.btn_save); 
 
 // 為按鈕綁定點(diǎn)擊事件監(jiān)聽器 
 btn_save.setOnClickListener(mClickListener); 
 
 this.setCancelable(true); 
 } 
} 

1.3 調(diào)用彈出框

public void showEditDialog(View view) { 
 createUserDialog = new CreateUserDialog(this,R.style.loading_dialog,onClickListener); 
 createUserDialog.show(); 
} 



private View.OnClickListener onClickListener = new View.OnClickListener() { 
 @Override 
 public void onClick(View v) { 
 
 switch (v.getId()) { 
 case R.id.btn_save: 
 
  String name = createUserDialog.text_name.getText().toString().trim(); 
  String mobile = createUserDialog.text_mobile.getText().toString().trim(); 
  String info = createUserDialog.text_info.getText().toString().trim(); 
 
  System.out.println(name+"——"+mobile+"——"+info); 
  break; 
 } 
 } 
 }; 

第二種實(shí)現(xiàn)方式:繼承PopupWindow

2.1 定義彈出框布局文件,和1.1定義的一致

2.2 定義要彈出的PopupWindow

public class CreateUserPopWin extends PopupWindow { 
 
 private Context mContext; 
 
 private View view; 
 
 private Button btn_save_pop; 
 
 public EditText text_name; 
 
 public EditText text_mobile; 
 
 public EditText text_info; 
 
 
 public CreateUserPopWin(Activity mContext, View.OnClickListener itemsOnClick) { 
 
 this.mContext = mContext; 
 
 this.view = LayoutInflater.from(mContext).inflate(R.layout.create_user_pop, null); 
 
 text_name = (EditText) view.findViewById(R.id.text_name); 
 text_mobile = (EditText) view.findViewById(R.id.text_mobile); 
 text_info = (EditText) view.findViewById(R.id.text_info); 
 
 btn_save_pop = (Button) view.findViewById(R.id.btn_save_pop); 
 
 // 設(shè)置按鈕監(jiān)聽 
 btn_save_pop.setOnClickListener(itemsOnClick); 
 
 // 設(shè)置外部可點(diǎn)擊 
 this.setOutsideTouchable(true); 
 
 
 /* 設(shè)置彈出窗口特征 */ 
 // 設(shè)置視圖 
 this.setContentView(this.view); 
 
 // 設(shè)置彈出窗體的寬和高 
 /* 
 * 獲取圣誕框的窗口對象及參數(shù)對象以修改對話框的布局設(shè)置, 可以直接調(diào)用getWindow(),表示獲得這個Activity的Window 
 * 對象,這樣這可以以同樣的方式改變這個Activity的屬性. 
 */ 
 Window dialogWindow = mContext.getWindow(); 
 
 WindowManager m = mContext.getWindowManager(); 
 Display d = m.getDefaultDisplay(); // 獲取屏幕寬、高用 
 WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 獲取對話框當(dāng)前的參數(shù)值 
 
 this.setHeight(RelativeLayout.LayoutParams.WRAP_CONTENT); 
 this.setWidth((int) (d.getWidth() * 0.8)); 
 
 // 設(shè)置彈出窗體可點(diǎn)擊 
 this.setFocusable(true); 
 
 } 
} 

2.3 調(diào)用該彈框組件

public void showEditPopWin(View view) { 
 
 createUserPopWin = new CreateUserPopWin(this,onClickListener); 
 
 createUserPopWin.showAtLocation(findViewById(R.id.main_view), Gravity.CENTER, 0, 0); 
 } 


private View.OnClickListener onClickListener = new View.OnClickListener() { 
 @Override 
 public void onClick(View v) { 
 
 switch (v.getId()) { 
 case R.id.btn_save_pop: 
 
  String name1 = createUserPopWin.text_name.getText().toString().trim(); 
  String mobile1 = createUserPopWin.text_mobile.getText().toString().trim(); 
  String info1 = createUserPopWin.text_info.getText().toString().trim(); 
 
  System.out.println(name1+"——"+mobile1+"——"+info1); 
 
  createUserPopWin.dismiss(); 
  break; 
 } 
 } 
 }; 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)Android有所幫助。

相關(guān)文章

  • Kotlin學(xué)習(xí)教程之協(xié)程Coroutine

    Kotlin學(xué)習(xí)教程之協(xié)程Coroutine

    這篇文章主要給大家介紹了關(guān)于Kotlin學(xué)習(xí)教程之協(xié)程Coroutine的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • android studio 4.0 新建類沒有修飾符的方法

    android studio 4.0 新建類沒有修飾符的方法

    這篇文章主要介紹了android studio 4.0 新建類沒有修飾符的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 自定義視圖view使用Canvas實(shí)現(xiàn)手寫板和涂鴉功能

    自定義視圖view使用Canvas實(shí)現(xiàn)手寫板和涂鴉功能

    這篇文章主要介紹了自定義視圖view使用Canvas實(shí)現(xiàn)手寫板和涂鴉功能,這里直接上代碼,里面有詳細(xì)講解和注釋,需要的朋友可以參考下
    2023-04-04
  • Android跳轉(zhuǎn)三方應(yīng)用實(shí)例代碼

    Android跳轉(zhuǎn)三方應(yīng)用實(shí)例代碼

    大家好,本篇文章主要講的是Android跳轉(zhuǎn)三方應(yīng)用實(shí)例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Android游戲開發(fā)實(shí)踐之人物移動地圖的平滑滾動處理

    Android游戲開發(fā)實(shí)踐之人物移動地圖的平滑滾動處理

    玩過rpg游戲的朋友應(yīng)該都知道RPG的游戲地圖一般都比較大 今天我和大家分享一下在RPG游戲中如何來處理超出手機(jī)屏幕大小的游戲地圖。
    2014-06-06
  • Android中@id和@+id及@android:id的區(qū)別介紹

    Android中@id和@+id及@android:id的區(qū)別介紹

    這篇文章主要給大家介紹了關(guān)于Android中@id和@+id及@android:id的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Android?Flutter使用本地?cái)?shù)據(jù)庫編寫備忘錄應(yīng)用

    Android?Flutter使用本地?cái)?shù)據(jù)庫編寫備忘錄應(yīng)用

    這篇文章主要為大家詳細(xì)介紹了Android?Flutter如何使用本地?cái)?shù)據(jù)庫實(shí)現(xiàn)編寫簡單的備忘錄應(yīng)用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-03-03
  • Android實(shí)現(xiàn)微信搖一搖功能

    Android實(shí)現(xiàn)微信搖一搖功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)微信搖一搖功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • Android繪制跟隨手指移動的小球

    Android繪制跟隨手指移動的小球

    這篇文章主要為大家詳細(xì)介紹了Android繪制跟隨手指移動的小球,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • flutter 微信聊天輸入框功能實(shí)現(xiàn)

    flutter 微信聊天輸入框功能實(shí)現(xiàn)

    這篇文章主要介紹了flutter 微信聊天輸入框功能實(shí)現(xiàn),本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03

最新評論

喀喇沁旗| 永修县| 富裕县| 贵阳市| 巴青县| 淮滨县| 琼结县| 华安县| 大连市| 西宁市| 新兴县| 灵川县| 海门市| 榆社县| 赤城县| 麻江县| 阜新市| 丽江市| 衢州市| 盐津县| 钟祥市| 类乌齐县| 桐梓县| 将乐县| 广西| 尼玛县| 泉州市| 泽库县| 海宁市| 香格里拉县| 玛沁县| 岳阳市| 抚宁县| 灌云县| 察雅县| 马鞍山市| 同仁县| 河源市| 南平市| 巩义市| 法库县|