ActionBar를 알아보자(1)

Posted by ITPangPang
2017. 1. 28. 01:30 안드로이드(android)/알아두면 좋은것


ActionBar를 알아보자(1)





ㆍ 어떻게 쓸지는 아직 안정했으나 Reference를 보고

    하나씩 따라써보면서 글을 써볼까 합니다..


ㆍ 짧게짧게 메서드 하나하나 보면서 넘어가도록

    하겠습니다.




getSupportActionBar.hide(), getSupportActionBar.show()


getSupportActionBar.hide();

액션바 숨겨라!!


getSupportActionBar.show(); 

액션바 나와라!!


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

Button btn_show = (Button)findViewById(R.id.btn_show);
btn_show.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
getSupportActionBar().show();
}
});
Button btn_hide = (Button)findViewById(R.id.btn_hide);
btn_hide.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
getSupportActionBar().hide();
}
});
}







.setTitle, .setBackgroundDrawable



setTitle

Title 이름을 바꾼다.


setBackgroundDrawable

Background를 바꾼다.


Button btn_red = (Button)findViewById(R.id.btn_red);
btn_red.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
getSupportActionBar().setTitle("빨간 배경");
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FF0000")));

}
});
Button btn_black = (Button)findViewById(R.id.btn_black);
btn_black.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
getSupportActionBar().setTitle("검정 배경");
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#000000")));

}
});




.setSubtitle, .setIcon, .setDisplayShowHomeEnable



.setSubtitle

title 밑에 Subtitle를 입력가능하다


.setIcon

아이콘 이미지를 삽입가능하다


.setShowHomeEnable

setShowHomeEnable(true)로 설정해야

setIcon 이미지를 볼 수 있다.


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setSubtitle("Subtitle");
getSupportActionBar().setIcon(R.drawable.ic_launcher);
getSupportActionBar().setDisplayShowHomeEnabled(true);




.setDisplayHomeAsUpEnabled


.setDisplayHomeAsUpEnabled

기본 홈버튼을 사용가능하게 할 수 있다(true)


@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case android.R.id.home:
Toast.makeText(this,"홈 버튼 터치",Toast.LENGTH_SHORT).show();
return true;
}

return (super.onOptionsItemSelected(item));
}


case android.R.id.home:

이 곳에서 원하는 동작으로 바꿔주면 된다.

back Button이라든지..(onBackPressed())



.setElevation, setLogo, setDisplayUseLogoEnable


.setElevation

AactionBar 아래에 그림자(?)를 넣어서

높낮이 효과를 일으킬 수 있다.


setLogo

setIcon과 마찬가지로 home 버튼 위치하는 곳에

로고를 넣을 수 있다.


setDisplayUseLogoEnable

로고를 넣기 위해 위 설정을 true로 바꿔준다.


@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setElevation(200);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.drawable.ic_launcher);

}






이번글은 간단하게 이정도에서

마치도록 하겠습니다.



마지막 그림에서

옆에 액션버튼과, 메뉴를 선택할 수 있는

버튼이 있는데 이 부분이 중요하므로

따로 다음글에서 써보도록 하겠습니다.