【问题标题】:Android - SearchView Add clickable icon on the rightAndroid - SearchView 右侧添加可点击图标
【发布时间】:2018-12-04 17:28:45
【问题描述】:

我正在尝试像这样在我的 SearchView 末尾添加一个图标

这是我的实际代码:

<RelativeLayout
    android:id="@+id/home_relativelayout_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/color_primary">
    <android.support.v7.widget.SearchView
        android:id="@+id/search_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColorHint="@color/grey_medium"
        android:layout_margin="@dimen/mpoint_divider_padding"
        android:gravity="center"
        android:layout_centerVertical="true"
        android:inputType="textNoSuggestions"
        android:background="@drawable/wo_search_background" />
</RelativeLayout>

好像没有android:drawableRight这样的属性,我什至尝试添加一个像ImageView这样的孩子,但屏幕上什么也没有出现

是否可以使用 SearchView 实现我想要的,或者我应该切换到 EditText+ImageView 吗?

感谢您的帮助

【问题讨论】:

  • 您可以自定义 SearchView 扩展 LinearLayout ,并使用 EditText+ImageView 来显示您想要的内容。
  • 我建议你看看我的回答ClearableEditext,在那里你可以编辑现有代码并实现你想要的。

标签: android xamarin xamarin.android


【解决方案1】:

你可以这样做:

将类似这样的ShapeDrawable 添加到您的可绘制文件夹中:

Border.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
 android:shape="rectangle" >
  <solid android:color="@android:color/white" /> //Background color here
  <stroke android:width="3dip" android:color="*Border color*"/>
</shape>

然后添加 SearchView 如下:

 <LinearLayout 
    android:layout_width="match_parent"
    android:background="@drawable/Border"
    android:layout_height="wrap_content" 
    android:Orientation="horizontal">
 <android.support.v7.widget.SearchView
    android:id="@+id/search_view"
    android:layout_width="0dp" 
    android:layout_weight="4"
    android:layout_height="wrap_content"
    android:textColorHint="@color/grey_medium"
    android:layout_margin="@dimen/mpoint_divider_padding"
    android:gravity="center"
    android:layout_centerVertical="true"
    android:inputType="textNoSuggestions"
    android:background="@drawable/wo_search_background" />
   <ImageView   android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    .../>
  </LinearLayout>

使用它,您可以通过将点击事件添加到图像来处理它。

在查询的情况下恢复,如果它不起作用。

【讨论】:

    猜你喜欢
    • 2018-09-28
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2020-05-25
    相关资源
    最近更新 更多