【发布时间】:2017-08-18 07:58:36
【问题描述】:
【问题讨论】:
-
写你的xml代码
标签: android xml android-edittext android-imageview
【问题讨论】:
标签: android xml android-edittext android-imageview
很遗憾,您不能像这样在EditText 的中心设置 drawable,或者,您可以使用包含 hint + image 的背景图片显示和内部,
试试下面的例子。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:background="@android:drawable/editbox_background"
android:gravity="center">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:drawableLeft="@android:drawable/ic_menu_search"
android:gravity="center"
android:hint="Search" />
</RelativeLayout>
您可以使用上面的 XML 代码实现这种类型的视图
【讨论】:
将android:gravity="center_horizontal" 添加到EditText
【讨论】:
我有办法
这是xml:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<EditText
android:id="@+id/edt_search"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/text_icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:drawableLeft="@android:drawable/ic_menu_search"
android:drawablePadding="8dp"
android:layout_gravity="center_horizontal"
android:gravity="center_vertical"
android:text="Search"
android:textColor="#969696" />
</FrameLayout>
在 onCreate() 中
edtSearch.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
textIcon.setVisibility(View.GONE);
}
@Override
public void afterTextChanged(Editable s) {
textIcon.setVisibility(s.length() == 0 ? View.VISIBLE : View.GONE);
}
});
试试吧!
【讨论】:
android:drawableLeft="@android:drawable/ic_menu_search"的大小