사악미소
현대마법의 공방
사악미소
전체 방문자
오늘
어제
  • 분류 전체보기
    • Document
    • JavaScript
    • jQuery
    • Spring Web
      • Spring Framework
      • Spring Boot
    • Android
      • Java Code
      • Setting
    • iOS
      • Swift Code
      • Setting
    • PHP
      • Code
      • Setting
    • AWS
    • LINUX
      • Rocky Linux
      • CentOS
    • Node.js
    • Developer Tool
    • GIT
    • MAC
    • Scraping Document
    • MariaDB
    • WYSIWYG
    • Scouter
    • Docker
    • Planning
    • 용어정리
반응형

인기 글

최근 댓글

Programmer 사악미소.
사악미소

사악미소의 현대마법의 공방

[Android]  액션바에 검색기능 활성화
Android/Java Code

[Android] 액션바에 검색기능 활성화

2022. 7. 19. 10:19
728x90

 

 

 

 

 


 

1. 레이아웃 구성

 

1) drawable 이미지

 

2) actionbar_menu.xml 생성

 

 

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/menuSearch"
        android:icon="@drawable/ic_baseline_search_24"
        android:title="검색"
        app:showAsAction="ifRoom|collapseActionView"
        app:actionViewClass="androidx.appcompat.widget.SearchView" />

</menu>

 

 


 

#2. 액티비티

 

MainActivity.java
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SearchView;

import android.content.Context;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

import com.example.actionbar.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {

    private ActivityMainBinding binding;
    public Context mContext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());

        ActionBar actionBar = getSupportActionBar();
        actionBar.setTitle("액션바 서치기능 활성화");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        mContext = getApplicationContext();
        getMenuInflater().inflate(R.menu.actionbar_menu, menu);

        SearchView searchView = (SearchView)menu.findItem(R.id.menuSearch).getActionView();
        searchView.setMaxWidth(Integer.MAX_VALUE);
        searchView.setQueryHint("검색어를 입력합니다.");

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener(){

            // 검색어 입력중 이벤트 제어
            @Override
            public boolean onQueryTextChange(String msg) {
                // Toast.makeText(getApplicationContext(), "입력중입니다.", Toast.LENGTH_SHORT).show();
                return false;
            }

            // 검색어 완료시 이벤트 제어
            @Override
            public boolean onQueryTextSubmit(String msg) {
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
                return false;
            }
        });

        return true;
    }
}

 


 

 

728x90

'Android > Java Code' 카테고리의 다른 글

[Android] Activity에서 Dark Theme 비활성화기  (0) 2023.01.04
[Android] 갤러리 이미지 가져오기 및 썸네일 생성  (0) 2022.11.10
[Android] 카메라 사진 가져오기 및 썸네일 생성  (0) 2022.11.10
[Android] setOnClickListener(this)를 이용한 버튼 클릭 이벤트  (0) 2022.11.09
[Android] Application 설치 여부 및 확인  (0) 2022.08.05
    'Android/Java Code' 카테고리의 다른 글
    • [Android] 갤러리 이미지 가져오기 및 썸네일 생성
    • [Android] 카메라 사진 가져오기 및 썸네일 생성
    • [Android] setOnClickListener(this)를 이용한 버튼 클릭 이벤트
    • [Android] Application 설치 여부 및 확인
    사악미소
    사악미소

    티스토리툴바