我想添加一个“搜索”图标出现在一个 EditText的左边缘?比如 Facebook Android 应用程序中的搜索框?
EditText
使用 EditText 上的 android:drawableLeft属性。
android:drawableLeft
<EditText ... android:drawableLeft="@drawable/my_icon" />
使用相对布局并将按钮设置为在编辑文本视图的左侧对齐,并将文本视图的左边填充设置为按钮的大小。我想不出一个不用硬编码填充的好方法:/
你也可以使用 APK 工具来解压 facebook apk 并查看它的布局文件。
您可以按照 Marcos的建议在 XML 中设置 draableLeft,但是您也可能希望以编程方式设置它——例如在响应事件时。为此,使用方法 SetCompoundDrawablesWithintrincisBounds (int,int,int,int) :
EditText editText = findViewById(R.id.myEditText); // Set drawables for left, top, right, and bottom - send 0 for nothing editTxt.setCompoundDrawablesWithIntrinsicBounds(R.drawable.myDrawable, 0, 0, 0);
如果你想使用 Android 默认的绘图工具,你可以这样使用 @android:drawable/ic_menu_search:
@android:drawable/ic_menu_search
<EditText android:id="@+id/inputSearch" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawableLeft="@android:drawable/ic_menu_search" android:hint="Search product.." android:inputType="textVisiblePassword"/>
用途:
<EditText .. android:drawableStart="@drawable/icon" />
在 EditText 上使用 开始属性
<EditText ... android:drawableStart="@drawable/my_icon" />
` <EditText android:layout_width="match_parent" android:layout_height="40dp" android:background="@color/white" android:drawableStart="@android:drawable/ic_menu_search" android:hint=" Search" />`