0

是否可以将搜索对话框固定在应用程序活动的顶部?

我遇到的问题是,如果用户错误地点击了活动中的其他位置,搜索对话框就会关闭,用户必须点击搜索电话按钮。

由于我的示例应用程序是一个搜索应用程序,我希望它始终在我的活动顶部可见。

有没有办法,android API是否允许这样做?

谢谢

使用代码编辑:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        onSearchRequested();

        Intent intent = getIntent();

        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
              String query = intent.getStringExtra(SearchManager.QUERY);

              Log.d("search", query);
        }

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

活动:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

</RelativeLayout>

搜索配置

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
        android:label="@string/app_name" >
</searchable>
4

1 回答 1

0

由于您控制 Activity 中的其他内容,因此您可以确保没有其他元素是可点击/可聚焦的(搜索字段除外)。

无论如何,如果您向我们展示您遇到问题的实际代码,我们可能会更有帮助。

于 2013-01-24T19:42:51.490 回答