안드로이드 개발 질문/답변
(글 수 45,052)
밑에 분께서 질문 하신것처럼 저도 요새 이거 고민중인데요.
탭의 본래 기능을 유지한채 기존 탭 모양이 아닌 A.PNG형태로 제작된 탭의 이미지를 사용하고 싶은데요.
setIndicator에 비밀이 있는거 같은데 어떤식으로 처리해야 할지 모르겠어요. 일단 탭을 세개를 구현한다면
~~~~~~~~~~~~~~~~"tab1"~~~~~~.setIndicator("tab1").~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~"tab2"~~~~~~.setIndicator("tab2").~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~"tab3"~~~~~~.setIndicator("tab3").~~~~~~~~~~~~~~
이런식으로 구현 하잖아요. 여기서 setIndicator의 두번쨰 인자에 Drawble 을 넘겨주면 탭안에 아이콘이 들어가는건
알겠는데. 전체적인 모양을 바꾸려면 어떻게 넘겨줘야 하나요. ~~ 검색을 해봐도 탭안에 조그만한 이미지 넣는거 밖에 안나오고
탭자체의 모양을 만들어진 a.png파일을 쓰는법은 안나와있는거 같아요 ㅠ
탭의 본래 기능을 유지한채 기존 탭 모양이 아닌 A.PNG형태로 제작된 탭의 이미지를 사용하고 싶은데요.
setIndicator에 비밀이 있는거 같은데 어떤식으로 처리해야 할지 모르겠어요. 일단 탭을 세개를 구현한다면
~~~~~~~~~~~~~~~~"tab1"~~~~~~.setIndicator("tab1").~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~"tab2"~~~~~~.setIndicator("tab2").~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~"tab3"~~~~~~.setIndicator("tab3").~~~~~~~~~~~~~~
이런식으로 구현 하잖아요. 여기서 setIndicator의 두번쨰 인자에 Drawble 을 넘겨주면 탭안에 아이콘이 들어가는건
알겠는데. 전체적인 모양을 바꾸려면 어떻게 넘겨줘야 하나요. ~~ 검색을 해봐도 탭안에 조그만한 이미지 넣는거 밖에 안나오고
탭자체의 모양을 만들어진 a.png파일을 쓰는법은 안나와있는거 같아요 ㅠ
2010.07.31 18:12:58
(추천:
1 / 0)
해결했어요
1. layout에 Indicator_view.xml을 하나 만들기!
내용은 당연히 리니어로 해놓고 안에다가는 버티컬 가로세로 워랩워랩으로 주고 아이디 주기 제일 중요한 메뉴 스타일 그림
android:Background="@drawble/icon" 넣어주기
2. .java로 가서 코딩!
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.tab_menu,(ViewGroup)findViewById(R.layout.tab_menu));
요러케 ~~~ 레이아웃인플래이터객체인 inflater(전개하다라는뜻) 생성
그리고 View객체인 layout을 하나 생성하고 인플래이터객체인 inflater로 inflater.inflate(resource,root) 지정해주기
3. 제일 마지막 . mTabHost.addTab(mTabHost.newTabSpec("Tab1").setIndicator(layout).setContent(R.id.textview1));
요런식으로 해주시면 됩니다.
2010.07.31 18:50:14
해결했습니다 ...;; 자꾸 자문 자답 하네요.
for (int tab = 0; tab < mTabHost.getTabWidget().getChildCount(); tab++) //만들어진 탭 갯수를 파악하는겁니다.
{
mTabHost.getTabWidget().getChildAt(tab).getLayoutParams().height = 1000;
} 요걸 탭 만든 뒷부분에 넣어주시면 됩니다.
이렇게 만든이유가.뭐냐면;; XML에서 직접 바로 바꿀시 화면이 찐빠나네요. 짤려들어간다는거죠. 이렇게 코드에서 구현할시 찐빠나지 않습니다.
for (int tab = 0; tab < mTabHost.getTabWidget().getChildCount(); tab++) //만들어진 탭 갯수를 파악하는겁니다.
{
mTabHost.getTabWidget().getChildAt(tab).getLayoutParams().height = 1000;
} 요걸 탭 만든 뒷부분에 넣어주시면 됩니다.
이렇게 만든이유가.뭐냐면;; XML에서 직접 바로 바꿀시 화면이 찐빠나네요. 짤려들어간다는거죠. 이렇게 코드에서 구현할시 찐빠나지 않습니다.