用EditText和Button制作一个搜索栏,java
时间: 2024-02-03 14:12:48 浏览: 68
XML代码:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="输入要搜索的内容"
android:imeOptions="actionSearch"
android:inputType="text"
android:maxLines="1" />
<Button
android:id="@+id/btn_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="搜索" />
</LinearLayout>
```
Java代码:
```java
public class MainActivity extends AppCompatActivity {
private EditText etSearch;
private Button btnSearch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etSearch = findViewById(R.id.et_search);
btnSearch = findViewById(R.id.btn_search);
// 设置搜索按钮点击事件
btnSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String keyword = etSearch.getText().toString();
if (!TextUtils.isEmpty(keyword)) {
// 执行搜索操作
search(keyword);
} else {
Toast.makeText(MainActivity.this, "请输入要搜索的内容", Toast.LENGTH_SHORT).show();
}
}
});
// 设置软键盘搜索按钮点击事件
etSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
String keyword = etSearch.getText().toString();
if (!TextUtils.isEmpty(keyword)) {
// 执行搜索操作
search(keyword);
} else {
Toast.makeText(MainActivity.this, "请输入要搜索的内容", Toast.LENGTH_SHORT).show();
}
return true;
}
return false;
}
});
}
private void search(String keyword) {
// 执行搜索操作
Toast.makeText(this, "搜索:" + keyword, Toast.LENGTH_SHORT).show();
}
}
```
其中,EditText设置了 `imeOptions="actionSearch"` 属性,表示软键盘右下角的回车键显示为搜索按钮。在Java代码中,我们监听了 EditText 的软键盘搜索按钮点击事件,当用户点击该按钮时,执行搜索操作。如果用户点击了按钮,则直接执行搜索操作。
阅读全文