- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[안드로이드] Context Menu 를 사용하는 예 본문
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="화면 중앙을 누르세요"
/>
<LinearLayout
android:id="@+id/center"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
MenuDemoActivity.java
package com.test.menu;
import android.app.*;
import android.graphics.Color;
import android.os.*;
import android.view.*;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.*;
public class MenuDemoActivity extends Activity {
/** Called when the activity is first created. */
LinearLayout center;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
center = (LinearLayout)findViewById(R.id.center);
/* 컨텍스트 메뉴를 사용하려는 View를 Activity에 등록한다 */
registerForContextMenu(center);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
if(v==center){
menu.setHeaderTitle("색상 선택");
menu.add(0,1,0,"Red");
menu.add(0,2,0,"Green");
menu.add(0,3,0,"Blue");
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId()){
case 1:
center.setBackgroundColor(Color.RED);
return true;
case 2:
center.setBackgroundColor(Color.GREEN);
return true;
case 3:
center.setBackgroundColor(Color.BLUE);
return true;
}
return false;
}
}
res/menu/menu.xml 파일에 메뉴를 설정하고 MenuInflater 를 이용하여 Context Menu 로 전개하는 예
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="화면 중앙을 누르세요"
/>
<LinearLayout
android:id="@+id/center"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
res/menu/menu.xml
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_red"
android:title="Red"/>
<item android:id="@+id/menu_green"
android:title="Green"/>
<item android:id="@+id/menu_etc"
android:title="Others">
<menu>
<group android:checkableBehavior="single">
<item android:id="@+id/menu_black"
android:checked="true"
android:title="Black"/>
<item android:id="@+id/menu_yellow"
android:title="Yellow"/>
</group>
</menu>
</item>
</menu>
MenuDemoActivity.java
package com.test.menu;
import android.app.*;
import android.graphics.Color;
import android.os.*;
import android.view.*;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.*;
public class MenuDemoActivity extends Activity {
/** Called when the activity is first created. */
LinearLayout center;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
center = (LinearLayout)findViewById(R.id.center);
/* 컨텍스트 메뉴를 사용하려는 View를 Activity에 등록한다 */
registerForContextMenu(center);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
if(v==center){
MenuInflater inflater = this.getMenuInflater();
inflater.inflate(R.menu.menu, menu);
menu.setHeaderTitle("색상 선택");
//menu.add(0,1,0,"Red");
//menu.add(0,2,0,"Green");
//menu.add(0,3,0,"Blue");
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.menu_red:
center.setBackgroundColor(Color.RED);
return true;
case R.id.menu_green:
center.setBackgroundColor(Color.GREEN);
return true;
case R.id.menu_black:
center.setBackgroundColor(Color.BLACK);
return true;
case R.id.menu_yellow:
center.setBackgroundColor(Color.YELLOW);
return true;
}
return false;
}
}
'★─Programing > ☆─Android' 카테고리의 다른 글
[안드로이드] 제12강좌 - Thread 추가 (0) | 2011.06.01 |
---|---|
[안드로이드] 메시지 처리 Looper (0) | 2011.06.01 |
[안드로이드] 제11강좌 - OptionMenu & SubMenu 와 ContextMenu 만들기 (0) | 2011.05.31 |
[안드로이드] 제10강좌 - 기억력게임만들기 (4) | 2011.05.30 |
[안드로이드] 제9강좌 - 그래픽과 애니메이션 (0) | 2011.05.30 |