如何降低android中搜索视图的高度?

时间:2013-11-26 08:32:01

标签: android

我必须减少android中搜索视图的高度,我已经在XML文件中设置了大小,但它显示如下

enter image description here

如何减小光标的大小(此处的搜索提示未完全显示)。 我想将搜索视图中文本的大小设置为相同大小的“x”按钮

搜索视图XML如下

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingLeft="5dip" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="6dp"
        android:text="@string/medium_text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <LinearLayout
        android:id="@+id/listView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/searchView"
        android:orientation="horizontal"
        android:weightSum="10" >

        <SearchView
            android:id="@+id/searchView"
            android:layout_width="0dp"
            android:layout_height="25dp"
            android:layout_below="@+id/textView1"
            android:layout_weight="9"
            android:imeOptions="actionSearch"
            android:textSize="2dp" >
        </SearchView>

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:layout_weight="0.5"
            android:onClick="hierOnclick"
            android:src="@drawable/ic_list" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:layout_weight="0.5"
            android:src="@drawable/icon_add_account" />
    </LinearLayout>
....
......
........
</LinearLayout>

我无法将高度设置为wrap_content(请以其他方式建议)

编辑:感谢您的评论  我想创建一个搜索组件,如下所示

enter image description here

实现这一目标,我们计划在搜索视图中设置方形背景。但我无法调整搜索视图的高度。

请帮帮我

非常感谢

2 个答案:

答案 0 :(得分:0)

问题在于EditText行距控制。 你应该设置:

在xml中:

android:lineSpacingExtra="0"
android:lineSpacingMultiplier="0"

代码: 使用以下方法:

public void setLineSpacing (float add, float mult)

请参阅Android SetLineSpacing() documentation

答案 1 :(得分:0)

默认情况下,SearchView使用abc_search_view.xml作为布局文件。

abc_search_view.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/search_bar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

    <!-- This is actually used for the badge icon *or* the badge label (or neither) -->
    <TextView
            android:id="@+id/search_badge"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:layout_marginBottom="2dip"
            android:drawablePadding="0dip"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="?android:attr/textColorPrimary"
            android:visibility="gone" />

   ** Omitted for brevity **

根视图为R.id.search_bar,可以在应用程序代码中对其进行引用和操作以调整搜索视图的高度:

searchView.findViewById<LinearLayout>(R.id.search_bar)?.run {
    this.layoutParams = this.layoutParams.apply {
        height = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 25f, resources.displayMetrics).toInt()
    }
}

然后您可能需要将搜索栏居中:

searchView.gravity = Gravity.CENTER_VERTICAL