android之PopUpWindow使用執行個體

來源:互聯網
上載者:User

最終:

main.xml布局檔案

<?xml version="1.0" encoding="utf-8"?><br /><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />android:orientation="vertical" android:layout_width="fill_parent"<br />android:layout_height="fill_parent" android:id="@+id/mainlayout"><br /><TextView android:layout_width="fill_parent" android:id="@+id/textView1"<br />android:layout_height="wrap_content" android:text="歡迎資訊" /><br /><Button android:text="點擊彈出對話方塊" android:id="@+id/button1"<br />android:layout_width="wrap_content" android:layout_height="wrap_content"></Button><br /></LinearLayout><br />

popup.xml布局檔案

<?xml version="1.0" encoding="utf-8"?><br /><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />android:layout_width="match_parent" android:layout_height="match_parent"<br />android:orientation="vertical"><br /><EditText android:text="EditText" android:id="@+id/editText1"<br />android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText><br /><LinearLayout android:layout_width="match_parent"<br />android:layout_height="wrap_content" android:id="@+id/linearLayout1"><br /><Button android:text="確定" android:id="@+id/button1_sure"<br />android:layout_width="wrap_content" android:layout_height="wrap_content"></Button><br /><Button android:text="取消" android:id="@+id/button2_cancel"<br />android:layout_width="wrap_content" android:layout_height="wrap_content"></Button><br /></LinearLayout><br /></LinearLayout><br />

activity代碼:

package cn.com.chenzheng_java;</p><p>import android.app.Activity;<br />import android.graphics.Color;<br />import android.os.Bundle;<br />import android.text.InputType;<br />import android.view.LayoutInflater;<br />import android.view.View;<br />import android.view.View.OnClickListener;<br />import android.view.WindowManager.LayoutParams;<br />import android.widget.Button;<br />import android.widget.EditText;<br />import android.widget.PopupWindow;<br />import android.widget.TextView;</p><p>public class Test1 extends Activity {<br />TextView textView;<br />Button button;</p><p>@Override<br />public void onCreate(Bundle savedInstanceState) {<br />super.onCreate(savedInstanceState);<br />setContentView(R.layout.main);<br />button = (Button) findViewById(R.id.button1);<br />textView = (TextView) findViewById(R.id.textView1);<br />button.setOnClickListener(new OnClickListener() {</p><p>@Override<br />public void onClick(View v) {<br />initPopWindow();</p><p>}<br />});<br />}</p><p>/**<br /> * 建立一個popupWindow彈出框 popupWindow是一個阻塞式的彈出框,這就意味著在我們退出這個彈出框之前,程式會一直等待,<br /> * 這和AlertDialog不同哦,AlertDialog是非阻塞式彈出框,AlertDialog彈出的時候,後台可是還可以做其他事情的哦。<br /> */<br />private void initPopWindow() {<br />// 載入popupWindow的布局檔案<br />View contentView = LayoutInflater.from(getApplicationContext())<br />.inflate(R.layout.popup, null);<br />// 設定popupWindow的背景顏色<br />contentView.setBackgroundColor(Color.RED);<br />// 聲明一個彈出框<br />final PopupWindow popupWindow = new PopupWindow(<br />findViewById(R.id.mainlayout), 200, 300);<br />// 為彈出框設定自訂的布局<br />popupWindow.setContentView(contentView);</p><p>final EditText editText = (EditText) contentView.findViewById(R.id.editText1);<br />// 設定當你點擊editText時,彈出的輸入框是啥樣子的。這裡設定預設為數字輸入哦,這時候你會發現你輸入非數位東西是不行的哦<br />editText.setInputType(InputType.TYPE_CLASS_NUMBER);<br />/*<br /> * 這個popupWindow.setFocusable(true);非常重要,如果不在彈出之前加上這條語句,你會很悲劇的發現,你是無法在<br /> * editText中輸入任何東西的。該方法可以設定popupWindow擷取焦點的能力。當設定為true時,系統會捕獲到焦點給popupWindow<br /> * 上的組件。預設為false哦.該方法一定要在彈出對話方塊之前進行調用。<br /> */<br />popupWindow.setFocusable(true);<br />/*<br /> * popupWindow.showAsDropDown(View view)彈出對話方塊,位置在緊挨著view組件<br /> * showAsDropDown(View anchor, int xoff, int yoff)彈出對話方塊,位置在緊挨著view組件,x y 代表著位移量<br /> * showAtLocation(View parent, int gravity, int x, int y)彈出對話方塊<br /> * parent 父布局 gravity 依靠父布局的位置如Gravity.CENTER x y 座標值<br /> */<br />popupWindow.showAsDropDown(button);</p><p>Button button_sure = (Button) contentView.findViewById(R.id.button1_sure);<br />button_sure.setOnClickListener(new OnClickListener() {<br />@Override<br />public void onClick(View v) {<br />popupWindow.dismiss();<br />textView.setText("展示資訊:"+editText.getText());<br />}<br />});</p><p>Button button_cancel = (Button) contentView.findViewById(R.id.button2_cancel);<br />button_cancel.setOnClickListener(new OnClickListener() {<br />@Override<br />public void onClick(View v) {<br />popupWindow.dismiss();<br />}<br />});</p><p>}</p><p>}

-------------------------------------------------------

 

android中inputType屬性在EditText輸入值時啟動的虛擬鍵盤的風格有著重要的作用。這也大大的方便的操作。有時需要虛擬鍵盤只為字元或只為數字。所以inputType尤為重要。

<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="phone" />
 //文本類型,多為大寫、小寫和數字記號。
    android:inputType="none"
    android:inputType="text"
    android:inputType="textCapCharacters"
    android:inputType="textCapWords"
    android:inputType="textCapSentences"
    android:inputType="textAutoCorrect"
    android:inputType="textAutoComplete"
    android:inputType="textMultiLine"
    android:inputType="textImeMultiLine"
    android:inputType="textNoSuggestions"
    android:inputType="textUri"
    android:inputType="textEmailAddress"
    android:inputType="textEmailSubject"
    android:inputType="textShortMessage"
    android:inputType="textLongMessage"
    android:inputType="textPersonName"
    android:inputType="textPostalAddress"
    android:inputType="textPassword"
    android:inputType="textVisiblePassword"
    android:inputType="textWebEditText"
    android:inputType="textFilter"
    android:inputType="textPhonetic"
//數實值型別
    android:inputType="number"
    android:inputType="numberSigned"
    android:inputType="numberDecimal"
    android:inputType="phone"//鍵盤
    android:inputType="datetime"
    android:inputType="date"//日期鍵盤
    android:inputType="time"//時間鍵盤

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.