달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2011. 8. 18. 17:17

교육 3일차 I.edu()/I.edu(Android)2011. 8. 18. 17:17

.. .. ..
교육 속도가 엄청나네 ;; 못따라 가겠다 쿨럭..

 
휴... 7번까지 해결 완료. 집에서 8번 마무리 고고싱~! 

'I.edu() > I.edu(Android)' 카테고리의 다른 글

교육 2일차  (2) 2011.08.17
안드로이드 교육 1일  (1) 2011.08.16
.
:
Posted by .07274.
.. .. ..

[펌] : http://mainia.tistory.com/576

개발환경 : JDK 1.5, eclipse-galileo, google API 7, window XP

 

이전 강좌에서도 보았지만 탭을 그대로 두기에는 어딘가 모르게 미흡하다.

색깔도 변경하고 원하는 아이콘을 넣어서 좀더 고급스럽게 만들고 싶을것이다.

 

(1) 탭에 색깔넣기

 

안드로이드에서 제공하는 기본색은 그림을 봐서 알겠지만 Grey 이며 클릭시 색깔이 바뀌었다가

놓으면 다시 원래색깔로 돌아온다.

이 색깔을 바꾸어 보는데 예제의 내용은 탭 호스트에 포함되어있는 자식 탭들을 모두 불러와

for 문을 돌면서 동일한 색깔로 바꾸는 것이다.

// TabHost 포함된 Tab 색깔을 모두 바꾼다

for(int i=0;i<tabHost.getTabWidget().getChildCount();i++){

tabHost.getTabWidget().getChildAt(i)

.setBackgroundColor(Color.parseColor("#734512"));

}


일괄적으로 적용했더니 구분이 가지 않는다. 개별적으로 바꾸고 싶다면 다음과 같이 쓰면 된다.

개발 탭을 알아내는 함수는 getChileAt(i) 이다. i 값은 제일 왼쪽 탭부터 0 으로 시작한다
1 /** TabHost 에 포함된 Tab의 색깔을 모두 바꾼다, 개별적용 */
2 tabHost.getTabWidget().getChildAt(0)
3        .setBackgroundColor(Color.parseColor("#734512"));
4 tabHost.getTabWidget().getChildAt(1)
5        .setBackgroundColor(Color.parseColor("#4E4E9C"));

 

(2) 아이콘 넣기

 

위의 예제에서 아이콘을 넣어 더 고급스럽게 만들어 보자.

아이콘은 drawable 폴더에 넣고 소스에서 getResources().getDrawable() 함수를 호출해

필요한 아이콘의 int 값을 넘겨준다.
1 firstTabSpec.setIndicator("First Tab Name", getResources().getDrawable(R.drawable.guitar));
2 firstTabSpec.setContent(new Intent(this,FirstTab.class));
3   
4 secondTabSpec.setIndicator("Second Tab Name", getResources().getDrawable(R.drawable.quicktime));
5 secondTabSpec.setContent(new Intent(this,SecondTab.class));

 

(3) 원하는 탭을 유지시키기

 

페이지가 로딩되었을때 특정 탭의 내용이 나타날수 있도록 해주고 싶을 때가 있다.

기본은 첫번째 탭인데 2번째 탭을 로딩시 보여주고 싶다면 setCurrentTab(i) 함수를

사용한다.  i 는 위에서 언급했듯이 왼쪽탭부터 0 으로 시작한다
1 /** 탭의 선택 */
2 tabHost.getTabWidget().setCurrentTab(1);

 

(4) 전체 소스  

 

FirstTab, SecondTab 은 기본 Activity 클래스를 만들어서 넣으면 됩니다.

그리고 AndroidManifest.xml 에 두 Activity 가 포함되어 있어야 됩니다.

<activity android:name=".widget.FirstTab" /> 

<activity android:name=".widget.SecondTab" />

01 import android.app.TabActivity;
02 import android.content.Intent;
03 import android.graphics.Color;
04 import android.os.Bundle;
05 import android.widget.TabHost;
06 import android.widget.TabHost.TabSpec;
07   
08 import com.sample.R;
09   
10 public class TabColor extends TabActivity {
11       
12     /** Called when the activity is first created. */
13     @Override
14     public void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.tab_color);
17   
18         /** TabHost ID */
19         TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
20   
21         /** 새로운 탭을 추가하기 위한 TabSpect */
22         TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
23         TabSpec secondTabSpec = tabHost.newTabSpec("tid1");
24   
25         firstTabSpec.setIndicator("First Tab Name", getResources().getDrawable(R.drawable.guitar));
26         firstTabSpec.setContent(new Intent(this,FirstTab.class));
27         secondTabSpec.setIndicator("Second Tab Name", getResources().getDrawable(R.drawable.quicktime));
28         secondTabSpec.setContent(new Intent(this,SecondTab.class));
29   
30         /** 탭을 TabHost 에 추가한다 */
31         tabHost.addTab(firstTabSpec);
32         tabHost.addTab(secondTabSpec);
33           
34         // TabHost 에 포함된 Tab의 색깔을 모두 바꾼다, 개별적용 
35         tabHost.getTabWidget().getChildAt(0).setBackgroundColor(Color.parseColor("#534512"));
36         tabHost.getTabWidget().getChildAt(1).setBackgroundColor(Color.parseColor("#4E4E9C"));
37           
38         // 탭의 선택
39         tabHost.getTabWidget().setCurrentTab(1);
40     }
41 }

tab_color.xml
01 <?xml version="1.0" encoding="utf-8"?>
02    
03 <TabHost android:layout_width="fill_parent"
04     android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
05     android:id="@android:id/tabhost">
06     <LinearLayout android:id="@+id/LinearLayout01"
07         android:orientation="vertical" android:layout_height="fill_parent"
08         android:layout_width="fill_parent">
09         <TabWidget android:id="@android:id/tabs"
10             android:layout_height="wrap_content" android:layout_width="fill_parent"></TabWidget>
11         <FrameLayout android:id="@android:id/tabcontent"
12             android:layout_height="fill_parent" android:layout_width="fill_parent"></FrameLayout>
13     </LinearLayout>
14    
15 </TabHost>

'I.lib() > I.lib(Android)' 카테고리의 다른 글

모바일 디스플레이 화면 변경  (0) 2012.11.27
Android(안드로이드) 개발 스킨 변경  (1) 2011.08.16
.
:
Posted by .07274.
2011. 8. 17. 11:12

교육 2일차 I.edu()/I.edu(Android)2011. 8. 17. 11:12

.. .. ..
2일차 교육 기초 문서


화면 분할 프로그램
http://winsplit-revolution.com/download


레이아웃 교육


sftp 접속
url : www.u-gg.or.kr
id : db
pw : 디비진흥원1108

레이아웃 두번째 교육




 

'I.edu() > I.edu(Android)' 카테고리의 다른 글

교육 3일차  (0) 2011.08.18
안드로이드 교육 1일  (1) 2011.08.16
.
:
Posted by .07274.
.. .. ..
[펌] : http://androidhuman.tistory.com/249

notice
1.스킨은 jpg 파일 하나가 아니다. (폴더구조안에 여러 파일이 존재)
2.AVD 생성시 스킨이 보이지 않는다면 Eclipse 를 재구동 한다. (이클립스 실행시 물고 올라가는듯)



이 게시물을 무단으로 사용하는 행위(비영리, 영리 포함)는 CCL 2.0 저작자 표시-비영리-변경금지 라이센스에 의거하여 금지되어 있습니다. 원본 글의 출처 및 저작자를 표시해 주신다면 글의 스크랩은 자유롭게 하실 수 있습니다. 단, 비영리 목적의 발표(스터디 등)에 위 글을 사용하고 싶으신 분은 제게 미리 메일로 문의 부탁드립니다.

저작권과 관련된 자세한 사항은 이곳을 참조해 주시기 바랍니다.


안드로이드 에뮬레이터의 기본 스킨은 왠지 삭막(...) 하기만 합니다.
특징도 없고.. 밋밋하고.... 가뜩이나 개발 할 때 피곤한데 기분전환이라도 되어야 할텐데 말이죠!!

그래서 기본 스킨에 질렸다!! 하시는 분들을 위해 스킨 변경 방법을 소개합니다.

우선, 스킨을 다운로드합니다.
스킨은 여러 가지들이 있지만... 마침 삼성 Galaxy 스킨이 있으니 그걸 사용해보죠.

다운로드는 여기에서 받으세요.

파일을 다운로드받으셨다면, 받은 스킨을 안드로이드 SDK폴더/platforms/[SDK버전]/skins 폴더에 풀어줍니다.


그 다음, AVD를 생성합니다.
AVD를 생성할 때, Skin에서 아까 우리가 받은 스킨 이름을 볼 수 있습니다.
선택하시고, AVD를 생성하시면 우리가 받은 스킨을 적용할 수 있습니다. :)



만약, AVD를 새로 만들지 않고 기존 AVD의 스킨을 바꾸시고싶으시다면,
C:\Documents and Settings\[계정이름]\.android\avd\[AVD이름].avd\config.ini 파일을 열어서 스킨 이름과 위치를 바꿔주시면 됩니다.



자, 어때요? 쉽죠? :)
이제 산뜻한 개발환경에서 개발을 계속 해보아요~~


.
:
Posted by .07274.