티스토리 뷰

#menu바에 새글 등록 버튼 만들기


1. res의 오른쪽마우스 → New Resource File 선택



2. 내용 채우기


<?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/newPost"

      android:title="새 글 등록"

      app:showAsAction="always" />

</menu>


Original 테마를 쓰면은 이런게 필요없다.



3. MainActivity.java에 두가지 메소드를 추가한다.


/**

* Action Bar에 메뉴를 생성한다.

* @param menu

* @return

*/

@Override

public boolean onCreateOptionsMenu(Menu menu) {

  getMenuInflater().inflate(R.menu.list_menu, menu);

  return true;

}


/**

* 메뉴 아이템을 클릭했을 때 발생되는 이벤트...

* @param item

* @return

*/

@Override

public boolean onOptionsItemSelected(MenuItem item) {


  int id = item.getItemId();


  if( id == R.id.newPost ){

      Toast.makeText(MainActivity.this, "새 글 등록 버튼을 클릭했습니다.", Toast.LENGTH_SHORT).show();

      return true;

  }


  return super.onOptionsItemSelected(item);

}




4. 실행해보면 다음과 같다.








#뒤로가기 버튼 만들기



1. WritePostActivity.java를 생성한다.


  • 아래 내용은, 메뉴바에 뒤로가기 버튼을 생성하고 버튼이 실행될 수 있도록 처리해주는 구문이다.


  • 전체 소스는 다음과 같다.

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

32

33

34

35

36

37

38

39

40

41

42

package com.ktds.oph.customlistview;

import android.os.Bundle;

import android.support.v7.app.ActionBar;

import android.support.v7.app.ActionBarActivity;

import android.view.Menu;

import android.view.MenuItem;

public class WritePostActivity extends ActionBarActivity {

   @Override

   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_write_post);

       //actionBar 객체를 가져올 수 있다.

       ActionBar actionBar = getSupportActionBar();

       //메뉴바에 '<' 버튼이 생긴다.(두개는 항상 같이다닌다)

       actionBar.setDisplayHomeAsUpEnabled(true);

       actionBar.setHomeButtonEnabled(true);

   }

   @Override

   public boolean onCreateOptionsMenu(Menu menu) {

       getMenuInflater().inflate(R.menu.write_menu, menu);

       return true;

   }

   @Override

   public boolean onOptionsItemSelected(MenuItem item) {

       int itemId = item.getItemId();

       if( itemId == R.id.done ){

           //페이스북에 포스트 등록하기...

           return true;

       }

       return super.onOptionsItemSelected(item);

   }

}

Colored by Color Scripter

cs





2. AndroidManifest.xml 에 아래 박스를 추가한다.


  • 뒤로가기 버튼을 눌렀을 때 PARENT_ACTIVITY인 MainActivity로 가라는 뜻이다.


  • 전체 코드는 다음과 같다.

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

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

   package="com.ktds.oph.customlistview">

   <uses-permission android:name="android.permission.INTERNET" />

   <application

       android:allowBackup="true"

       android:icon="@mipmap/ic_launcher"

       android:label="@string/app_name"

       android:supportsRtl="true"

       android:theme="@style/AppTheme">

       <activity android:name=".MainActivity">

           <intent-filter>

               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />

           </intent-filter>

       </activity>

       <activity android:name=".DetailActivity" />

       <activity android:name=".WritePostActivity">

           <meta-data

               android:name="android.support.PARENT_ACTIVITY"

               android:value=".MainActivity" />

       </activity>

   </application>

</manifest>

Colored by Color Scripter

cs



3. 실행하면 다음과 같다. (뒤로가기 버튼 누르면 홈 화면으로 돌아가는 것)


    

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함