首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ImageView 定位在 AutoCompleteTextView 上方:組合控件而非絕對定位

     編輯:程式設計綜合問答

不推薦:絕對定位

在 RelativeLayout/ConstraintLayout 中用 layout_above、marginBottom 強行疊加,極易因輸入法彈出、文字長度變化導致錯位。

推薦:組合自定義控件

  1. 創建 FrameLayout 容器,內部包含 AutoCompleteTextView 和 ImageView(如下拉箭頭/清除圖標)。
  2. 通過 android:drawableEnd / drawableRight 直接在 AutoCompleteTextView 內部顯示圖標(最簡單)。
    
      
      
  3. 若需複雜交互(如點擊圖標彈出菜單),自定義 class CustomAutoComplete extends FrameLayout 封裝邏輯。

核心原則

將圖標作為輸入框的組成部分(drawable 或 內嵌子 View),而非獨立浮動 View,由佈局系統自動處理位置與適配。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved