Android SearchView 设置为默认展开
Android SearchView set Expanded by default
我目前正在使用 Android Studio 开发一个简单的应用程序,最低 API 级别 8,现在我在 LinearLayout
中使用 android.support.v7.widget.SearchView
14=] 布局,不在 ACTIONBAR
上,现在的问题是,我无法将 searchView 默认设置为 Expanded
,我已经在寻找解决方案,但我只得到了这个:
android:iconifiedByDefault="false"
这是我的 searchView
的完整代码
<android.support.v7.widget.SearchView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/searchView"
android:background="#00000000"
android:iconifiedByDefault="false"
android:layout_weight="1" />
但运气不好,它不起作用。任何人都可以帮助我吗?任何帮助,将不胜感激。非常感谢!
要使 SearchView 默认展开,请在初始化时对其调用 setIconifiedByDefault(false)(例如在 onCreate(..) 中)。我发现在大多数情况下这会自动为其提供焦点,但如果不是也只需对其调用 requestFocus() 即可。
我使用下面的代码来扩展搜索视图并同时放置光标:
final SearchView sv = new SearchView(((MainActivity) getActivity()).getSupportActionBar().getThemedContext());
sv.setIconifiedByDefault(true);
sv.setFocusable(true);
sv.setIconified(false);
sv.clearFocus();
sv.requestFocusFromTouch();
好的,所以我解决了这个问题。对于任何想要使用 SearchView 支持库的人,这里是自定义它的方法。
<android.support.v7.widget.SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:closeIcon="@drawable/ic_clear" // To set custom clear icon
app:searchIcon="@drawable/ic_search" //To set custom search icon
app:queryBackground="@color/transparent" // i decided to remove underline so i create a custom background for my searchView
app:queryHint="@string/filterHint" //to set a custom Hint
app:iconifiedByDefault="false" //And finally, to Expand it as default
/>
正如我所说,我害怕通过 java 代码在运行时覆盖 xml 布局,因此为了使其在运行时组织起来并且不再覆盖,我就是这样做的.
Reference
感谢帮助!!!
我目前正在使用 Android Studio 开发一个简单的应用程序,最低 API 级别 8,现在我在 LinearLayout
中使用 android.support.v7.widget.SearchView
14=] 布局,不在 ACTIONBAR
上,现在的问题是,我无法将 searchView 默认设置为 Expanded
,我已经在寻找解决方案,但我只得到了这个:
android:iconifiedByDefault="false"
这是我的 searchView
的完整代码 <android.support.v7.widget.SearchView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/searchView"
android:background="#00000000"
android:iconifiedByDefault="false"
android:layout_weight="1" />
但运气不好,它不起作用。任何人都可以帮助我吗?任何帮助,将不胜感激。非常感谢!
要使 SearchView 默认展开,请在初始化时对其调用 setIconifiedByDefault(false)(例如在 onCreate(..) 中)。我发现在大多数情况下这会自动为其提供焦点,但如果不是也只需对其调用 requestFocus() 即可。
我使用下面的代码来扩展搜索视图并同时放置光标:
final SearchView sv = new SearchView(((MainActivity) getActivity()).getSupportActionBar().getThemedContext());
sv.setIconifiedByDefault(true);
sv.setFocusable(true);
sv.setIconified(false);
sv.clearFocus();
sv.requestFocusFromTouch();
好的,所以我解决了这个问题。对于任何想要使用 SearchView 支持库的人,这里是自定义它的方法。
<android.support.v7.widget.SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:closeIcon="@drawable/ic_clear" // To set custom clear icon
app:searchIcon="@drawable/ic_search" //To set custom search icon
app:queryBackground="@color/transparent" // i decided to remove underline so i create a custom background for my searchView
app:queryHint="@string/filterHint" //to set a custom Hint
app:iconifiedByDefault="false" //And finally, to Expand it as default
/>
正如我所说,我害怕通过 java 代码在运行时覆盖 xml 布局,因此为了使其在运行时组织起来并且不再覆盖,我就是这样做的.
Reference
感谢帮助!!!