Ⅰ android 懸浮窗如何能讓它和他的的下層一起響應觸摸事件
/**
* 創建一個小懸浮窗。初始位置為屏幕的右部中間位置。
*
* @param context 必須為應用程序的Context.
*/
public static void createSmallWindow(Context context) {
WindowManager windowManager = getWindowManager(context);
int screenWidth = windowManager.getDefaultDisplay().getWidth();
int screenHeight = windowManager.getDefaultDisplay().getHeight();
if (smallWindow == null) {
smallWindow = new FloatWindowSmallView(context);
if (smallWindowParams == null) {
smallWindowParams = new LayoutParams();
smallWindowParams.type = LayoutParams.TYPE_PHONE;
smallWindowParams.format = PixelFormat.RGBA_8888;
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
| LayoutParams.FLAG_NOT_FOCUSABLE;
smallWindowParams.gravity = Gravity.LEFT | Gravity.TOP;
smallWindowParams.width = FloatWindowSmallView.viewWidth;
smallWindowParams.height = FloatWindowSmallView.viewHeight;
smallWindowParams.x = screenWidth;
smallWindowParams.y = screenHeight / 2;
}
smallWindow.setParams(smallWindowParams);
windowManager.addView(smallWindow, smallWindowParams);
LogPrinter.i(TAG, "添加了小浮標View");
}
}
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_NOT_FOCUSABLE;
Ⅱ android中如何去掉點擊鍵盤的浮層
方法一
在你的activity中的oncreate中setContentView之前寫上這個代碼
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
方法二
在 項目的AndroidManifest.xml文件中界面對應的<activity>里加入
這樣會讓屏幕整體上移。如果加上的 是 android:windowSoftInputMode="adjustPan"這樣鍵盤就會覆蓋屏幕。
關於android:windowSoftInputMode
activity主窗口與軟鍵盤的交互模式,可以用來避免輸入法面板遮擋問題,Android1.5後的一個新特性。
這個屬性能影響兩件事情:
【一】當有焦點產生時,軟鍵盤是隱藏還是顯示
【二】是否減少活動主窗口大小以便騰出空間放軟鍵盤
它的設置必須是下面列表中的一個值,或一個」state…」值加一個」adjust…」值的組合。在任一組設置多個值——多個」state…」values,例如&mdash有未定義的結果。各個值之間用|分開。
例如:
<activityandroid:windowSoftInputMode="stateVisible|adjustResize". . . >
在這設置的值(除"stateUnspecified"和"adjustUnspecified"以外)將覆蓋在主題中設置的值
方法三
把頂級的layout替換成ScrollView,或者說在頂級的Layout上面再加一層ScrollView。這樣就會把軟鍵盤和輸入框一起滾動了,軟鍵盤會一直處於底部。
Ⅲ Android 自定義鍵盤點擊按鍵出現的浮層怎樣去掉
那個不是TextView是EditText,你只要把EditText放在Button上面就行了代碼如下:粘進去運行就行了activity隨便寫個就行記得配manifest~~~
Ⅳ Android開發中,添加一層懸浮窗後,應用內返回鍵無響應
隨手一網路:網頁鏈接網頁鏈接
Ⅳ 在android 懸浮層中放一個fragment
new一個Layout 然後把Fragment add進去
Ⅵ Android如何只在應用內顯示懸浮窗
Android懸浮窗實現使用WindowManager ,WindowManager介紹
通過Context.getSystemService(Context.WINDOW_SERVICE)可以獲得 WindowManager對象。
每一個WindowManager對象都和一個特定的 Display綁定。
想要獲取一個不同的display的WindowManager,可以用 createDisplayContext(Display)來獲取那個display的 Context,之後再使用:Context.getSystemService(Context.WINDOW_SERVICE)來獲取WindowManager。
使用WindowManager可以在其他應用最上層,甚至手機桌面最上層顯示窗口。
調用的是WindowManager繼承自基類的addView方法和removeView方法來顯示和隱藏窗口。具體見後面的實例。
另:API 17推出了Presentation,它將自動獲取display的Context和WindowManager,可以方便地在另一個display上顯示窗口。
Ⅶ appium中android自動化怎麼獲取浮層的toast
SQLite是輕量級嵌入式資料庫引擎,它支持 SQL 語言,並且只利用很少的內存就有很好的性能。 SQLite 基本上符合 SQL-92 標准,和其他的主要 SQL 資料庫沒什麼區別。它的優點就是高效,Android 運行時環境包含了完整的 SQLite。 SQLite 和其他資料庫最大的不同就是對數據類型的支持,創建一個表時,可以在 CREATE TABLE 語句中指定某列的數據類型,但是你可以把任何數據類型放入任何列中。當某個值插入資料庫時,SQLite 將檢查它的類型。如果該類型與關聯的列不匹配,則 SQLite 會嘗試將該值轉換成該列的類型。如果不能轉換,則該值將作為其本身具有的類型存儲。比如可以把一個字元串(String)放入 INTEGER 列。SQLite 稱這為「弱類型」(manifest typing.)。 此外,SQLite 不支持一些標準的 SQL 功能,特別是外鍵約束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 還有一些 ALTER TABLE 功能。 除了上述功能外,SQLite 是一個完整的 SQL 系統,擁有完整的觸發器,交易等等。 Android 集成了 SQLite 資料庫 Android 在運行時(run-time)集成了 SQLite,所以每個 Android 應用程序都可以使用 SQLite 資料庫。 對於熟悉 SQL 的開發人員來時,在 Android 開發中使用 SQLite 相當簡單。但是,由於 JDBC 會消耗太多的系統資源,所以 JDBC 對於手機這種內存受限設備來說並不合適。因此,Android 提供了一些新的 API 來使用 SQLite 資料庫,Android 開發中,程序員需要學使用這些 API。 Android 提供了 SQLiteOpenHelper 創建一個資料庫,只要繼承 SQLiteOpenHelper 類,就可以輕松的創建資料庫。SQLiteOpenHelper 類根據開發應用程序的需要,封裝了創建和更新資料庫使用的邏輯。 SQLiteOpenHelper 的子類,至少需要實現三個方法: 1 構造函數,調用父類 SQLiteOpenHelper 的構造函數。這個方法需要四個參數:上下文環境(例如,一個 Activity),資料庫名字,一個可選的游標工廠(通常是 Null),一個代表你正在使用的資料庫模型版本的整數。 2 onCreate()方法,它需要一個 SQLiteDatabase 對象作為參數,根據需要對這個對象填充表和初始化數據。 3 onUpgrage() 方法,它需要三個參數,一個 SQLiteDatabase 對象,一個舊的版本號和一個新的版本號,這樣你就可以清楚如何把一個資料庫從舊的模型轉變到新的模型。
Ⅷ iOS和安卓的UI設計有什麼區別
iOS與安卓設計上的差異主要從系統差異、成本考慮、用戶習慣3個方面來闡述。
一. 系統差異
1. 物理按鍵對返回的影響
安卓的物理按鍵以及屏幕導航按鍵的差異是安卓的返回鍵更加方便,
iOS只有home鍵,隨著全屏的出現,可能會打破這種差異。
因此在設計返回操作的時候需要考慮平台的差異性。
安卓比iOS增加了物理返回鍵、底部導航,有些設備可以隱藏底部導航。
全面屏的普及會慢慢打破這種因為物理按鍵造成的交互及設計差別,全面屏設計適配是要考慮底部按鍵的差異。
華為全面屏的幾種手勢:
安卓全面屏出現後,並沒有完全舍棄內置導航按鍵,還有純手勢、懸浮按鈕、內置導航條3種方式。隨著硬體的發展,安卓和iOS的交互操作會更加趨同,改變這種差異。
返回浮窗的UI表現:
iOS 手機只有一個「Home 」鍵,為方便用戶退出浮層需要增加了「取消」入口。
而 Android 手機本來就有「返回」虛擬鍵,所以多做一個「取消」的意義性不大。
2. 屏幕解析度造成的色調選擇
Material Design作為谷歌推出的全新的設計語言,和iOS對比,Material Design更加沉穩,iOS更加鮮艷。原因是因為iOS的屏幕解析度更高,對鮮艷顏色的還原度更好,安卓適應的機型比較多,顏色還原度沒有那麼好。
深色模式下考慮到用戶長期使用的體驗,因iOS的還原度高,背景使用#000000,安卓解析度的限制,文字顏色較淺,谷歌推薦背景色為#121212。有些平台護眼模式和深色模式用兩套,比如網易雲音樂。
. 軟體更新方式的不同
Android :由於安卓的開源特性,當有新版本時都會提示用戶更新,且每個產品內部都帶有「版本更新」入口。
更新的方式可分2種:
引導更新:彈出提示讓用戶更新 APP ,用戶點擊「更新」按鈕前往應用商店更新、或者在當前頁面更新並顯示下載進度。
強制更新:也是先提示用戶更新,只不過用戶點擊「更新」按鈕,即調起軟體安裝頁面。
iOS :而 iOS 端出於對用戶體驗的考慮,UI設計中IOS和安卓的設計差異是禁止向用戶提示版本更新信息的。這也是為什麼絕大部分的 iOS 產品,都是沒有「版本更新」入口的原因,即使有,點擊了也直接跳轉到 App Store 查看版本情況。
4. 切圖標注
XHDPI對應的是安卓2倍圖,XXHDPI對應的是安卓3倍圖,iOS的3倍圖和安卓的XXHDPI是一樣的。
iOS用375*667px做設計,有些也用750*1334px,原因有3點:
①開發同學不用換算,直接採用1倍圖就可以
②sketch切圖時導出更加方便
③極大提高了視覺還原和其他機型的適配
安卓用1080*1920px做設計,原因有3點:
①從中間尺寸向上和向下適配的時,調整幅度最小,最方便適配
②大屏幕時代依然以小尺寸作為設計尺寸,會限制設計師的設計視角
③用主流尺寸做設計,極大提高視覺還原和機型適配
5. 鍵盤差異引發的搜索框樣式
安卓鍵盤有些是系統自帶的,也有第三方的,例如搜狗輸入法,iOS更多是系統自帶的鍵盤。
很多輸入法在鍵盤的右側加入了更加明顯的搜索按鍵,但為了照顧一些用戶的操作習慣,安卓還是把搜索放在了搜索框後面。
二. 成本考慮
1. 開發成本
loading
iOS的loading自定義更加常見、個性化強,安卓很多都是用系統自帶的(轉圈的那種),主要是考慮開發成本。
TAB樣式
2個平台會有特有的控制項樣式。
安卓系統本身全局actionbar,若去實現其他的樣式,會破壞整體的封裝,開發成本更高。
iOS系統有自定義的tab切換樣式,開發人員只需要更改顏色、圓角,更加方便。
高斯模糊
毛玻璃在iOS比較常見,安卓開發成本高,建議不做這種效果。
2. 商業成本
一般iOS會讓用戶承擔30%的抽成,例如優酷、騰訊的VIP會員價格。
三. 用戶習慣
1. 長按側滑刪除
信息列表的側滑,在iOS中是很常見的操作,但是在安卓更習慣長按,如果改成側滑刪除,會增加用戶的理解成本。
2. 圖標設計
返回按鈕:一般iOS返回不帶橫線「<」,安卓喜歡帶有橫線,例如下圖,不過有些app會統一用一種。
分享按鈕:一把iOS會採用蘋果自帶的向上的形式,安卓喜歡用三個圈圈(看下圖)。
彈窗按鈕:有些安卓彈窗上的按鈕會遵循系統規則,在右側這種形式,iOS更喜歡居中。
bar標題位置:安卓上的標題跟隨著「返回」,在bar的左側,iOS會喜歡放在中間。
Ⅸ 如何實現Android懸浮在最上層的提示框
總布局使用framelayout
Ⅹ Android釘釘的會議提醒浮層一直顯示到界面上
如果是蘋果電腦,可以使用ical來同步日歷,包含日歷事件和待辦事項。