Android開發自動適配的技巧
發布時間:2013-8-14 18:12
發布者:
reggae
我們做Android開發都知道,目前市場上的Android手機屏幕大小有很多種,魚龍混雜,我們做一個Android應用如何在不同屏幕上的進行適應,本文介紹一些技巧。
(PS:新建的QQ群,有興趣可以加入一起討論:Android學習交流群:278744577,驗證:eec)
Android系統采用下面兩種方法來實現應用的自動適配:
1)布局文件中定義長度的時候,最好使用wrap_content,fill_parent, 或者dp 進行描述,這樣可以保證在屏幕上面展示的時候有合適的大小
2)像素單位都使用DIP,文本單位使用SP
3)為不同屏幕密度的手機,提供不同的位圖資源,可以使得界面清晰無縮放。
對應bitmap 資源來說,自動的縮放有時會造成放大縮小后的圖像變得模糊不清,這是就需要應用為不同屏幕密度配置提供不同的資源:為高密度的屏幕提供高清晰度的圖像等。
不要使用AbsoluteLayout
android開發如何控制虛擬鍵盤的打開和隱藏
在我們做Android開發中,在一些安全性要求較高的APP中,我們可能會遇到一些這樣的需求,我們需要自由的控制虛擬鍵盤的打開和關閉,我們如何控制虛擬鍵盤的打開和隱藏呢?本文介紹如android開發如何控制虛擬鍵盤的打開和隱藏。
一、如何打開虛擬鍵盤:
- InputMethodManager inputMethodManager = (InputMethodManager)
- getSystemService(Context.INPUT_METHOD_SERVICE);
- // 接受軟鍵盤輸入的編輯文本或其它視圖
- imm.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED);
復制代碼 二、如何關閉虛擬鍵盤
- InputMethodManager inputMethodManager = (InputMethodManager)
- getSystemService(Context.INPUT_METHOD_SERVICE);
- inputMethodManager.hideSoftInputFromWindow(OpeListActivity.this.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
- //接受軟鍵盤輸入的編輯文本或其它視圖
- inputMethodManager.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED);
復制代碼 三、如何判斷虛擬鍵盤輸入法打開的狀態(判斷虛擬鍵盤是否打開)
- InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
- boolean isOpen=imm.isActive();
復制代碼 說明:isOpen若返回true,則表示輸入法打開
|