【安卓筆記】popupWindow使用淺析
顯示效果:package com.example.popupwindowdemo; import android.app.Activity; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.LinearLayout.LayoutParams; import android.widget.PopupWindow; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private PopupWindow pw = null; private Button but_pos = null; private Button but_neg = null; private Button but_show = null; private int screenWidth = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); screenWidth = getWindowManager().getDefaultDisplay().getWidth(); but_show = (Button) findViewById(R.id.but_show); but_show.setOnClickListener(this); } public void initPopupWindow() { View view = getLayoutInflater().inflate(R.layout.layout_popup_window,null); but_pos = (Button) view.findViewById(R.id.but_pos); but_neg = (Button) view.findViewById(R.id.but_neg); but_neg.setOnClickListener(this); but_pos.setOnClickListener(this); pw = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,true); pw.setWidth(screenWidth*3/4); pw.setBackgroundDrawable(new BitmapDrawable()); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.but_neg: Toast.makeText(this,"取消", 0).show(); pw.dismiss(); break; case R.id.but_pos: Toast.makeText(this,"開始下載", 0).show(); pw.dismiss(); break; case R.id.but_show: initPopupWindow(); //顯示在指定位置 pw.showAtLocation(findViewById(R.id.root),Gravity.CENTER,0,0); //預設顯示在指定的view左下,可以指定偏移量,這裡讓其顯示在中間 // pw.showAsDropDown(but_show,(screenWidth-pw.getWidth())/2,0); break; } } }
相關推薦
【安卓筆記】popupWindow使用淺析
package com.example.popupwindowdemo; import android.app.Activity; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import androi
【安卓筆記】GestureDetector淺析
package com.example.gesturedetectordemo; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.GestureDetec
【安卓筆記】ormlite入門
base 字段 tool uil nali ews 文檔 實例 自增 ps:寫這篇文章的目的是嘗試下新的markdown編輯器哈哈 簡單介紹 ORMLite provides a lightweight Object Relational Ma
【安卓筆記】AsyncTask
public abstract class AsyncTask<Params, Progress, Result> 泛型引數: Params:執行後臺任務所需的引數。比如如果你是網路操作的話,maybe需要傳入一個uri Progress:後臺任務執行的進度。比如下載進度,通
【安卓筆記】WebView控制元件使用
wv.loadUrl("file:///android_asset/test1.html"); (2)遠端資源: 直接將地址字串傳入即可。 wv.loadUrl("http://blog.csdn.net");注意,訪問遠端資源必須加上許可權: <uses-permission and
【安卓筆記】Volley全方位解析,帶你從原始碼的角度徹底理解
轉載請宣告原出處(blog.csdn.net/chdjj),謝謝! -------------------------- 參考資料 1.http://www.codekk.com/open-source-project-analysis/detail/Android/g
【安卓筆記】自定義view之組合控制元件
組合控制元件即將若干個系統已有的控制元件組合到一塊形成一個組合控制元件,比如帶返回按鈕的標題欄就是一個最簡單的組合控制元件。 使用組合控制元件的好處是提高程式碼的複用性,一處定義多處使用。 下面我們
【安卓筆記】Fragment
如何建立Fragment? Fragment通常建立在activity下,如果我們希望建立一個Fragment,可以在activity對應的佈局檔案中增加fragment節點(就跟清單檔案一樣),然
【安卓筆記】非同步載入大量圖片
package cn.edu.chd.utils; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; /** * @author Row
【安卓筆記】ViewPager+Fragment佈局中的Fragment資料更新
這裡可能是GC回收掉了代表選項卡1的Fragment1物件,這時當我們滑會第一個介面時,重新建立了Fragment。這顯然不是我們期望的效果。 下面說下我的解決方案: 介面卡中應該提供一個設定介面卡資料的方法,這個方法可以向介面卡填充新的資料,並remove掉舊的資料。 按照這個思路,我們重構下M
【安卓筆記】ArrayAdapter刪除item注意事項
ArrayAdapter提供了remove方法可以刪除資料來源中的資料,並使介面重新整理。下面是其原始碼: public void remove(T object) { synchronized (mLock) { if (mOrig
Activity【安卓2】
主配置文件 安卓 activity androi 標簽 命令 方法 create 使用 Activity與界面 1.Activity相當於瀏覽器的標簽。相當於空白的網頁,界面相當於瀏覽器內的網頁。 2.將Activity與界面綁定就相當於
時間、日期選擇器【安卓3】
ear hour getc enable pic style min 判斷 eight TimePicker(時間選擇器) 方法 描述 Integer getCurrentHour () 返回當前設置的小時 Integer getCurren
下拉列表框【安卓3】
pan activity border cin left 資源 pro 內容 1.0 Spinner(下拉列表框) 方法 描述 CharSequence getPrompt () 取得提示文字 void setPrompt(CharSeque
高級控件【安卓5】——信息提示框、對話框
make 安卓 com log list 股市 message bundle gif Toast信息提示框 1 Button bt1=(Button)findViewById(R.id.Tbt01); 2 Button bt2=(Button)findViewByI
高級控件【安卓6】—— Gallery
access java pac body hide andro 分享 圖片 cep Gallery畫廊 Gallery控件與Spinner類相似,都是AbsSpinner類的子類。 Spinner顯示的是一個垂直列表選擇,Gallery顯示的是一個水平列表選擇框,(允許用
XML文件解析【安卓7】——SAX解析
try 讀取資源文件 結束 文件解析 簡單 put log 空間 img XML文件解析 XML解析:XML技術是Android平臺的應用基礎, Android提供了多種解析XML的方式:SAX解析、DOM解析、PULL解析 SA
文件操作【安卓8】
raw 定義 resources andro 功能 getx spa android數據 vid 文件操作 android數據存儲方式 SharedPreferences存儲 文件存儲 SQLite數據庫存儲 ContentProvider存儲 網絡存儲
SD卡操作【安卓8】
roo extern 檢查 return tdi 程序 equal 針對 ron 讀寫SD卡 Context類的openFileInput和openFileOutput方法都是針對應用程序的數據文件夾進行的文件操作,由於手機的ROM容量有限,因此這種操作有一定局限性。
【安卓9】SQLite數據庫
發的 動態 管理 可靠性 數據庫文件 其他應用 odbc 平臺 php SQLite 是一個開源的嵌入式關系數據庫,實現自包容、零配置、支持事務的SQL數據庫引擎。它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。 其特點是高度便攜、使用方便、結構緊湊、高