반응형
SMALL

▩ 안드로이드 컨텍스트 액션 모드


컨텍스트 액션바는 텍스트 뷰 액티비티를 오래 누르게 되며 액정화면 상단에 공유 버튼인 액션바가 표시됩니다.


컨텍스트 액션모는 예제를 통해서 알아보도록 하겠습니다.

1> ContextMenu 프로젝트 파일을 생성합니다.

2> res/layout/main 코드작성을 합니다.

 

3> res/menu/menu 코드를 작성을 합니다.

   <item android:id+"@+id/share"

          android:icon="@drawable/disk"

          android:title="new game"/>


4>MainActivity.java  코드를 작성합니다.


public class MainActivity extends ActionBarActivity implements View.OnLongClickListener,

ActionMode.Callback{

ActionMode mActionMode;


protected void onCreate(Bundle savedInstanceState){

     super.onCreate(savedInstanceState);

     setContenView(R.layout.activity_main);

     TextView text =(TextView)findViewById(R.id.textview);

     text.setOnLongClickListener(this);

 }

public boolean onCreateActionMode(ActionMode mode, Menu menu){

     Manulnf later inflater = mode.getMenuInflater();

     inflater.inflate(R.menu.menu,menu);

     return true;

}

public boolean onPrepareActionMode(ActionMode mode, Menu menu){

    return false;

}

public boolean onActionItemClicked(ActionMode mode, MenuItem item){

      switch(item.getltemId()){

             case R.id.share:

              mode.finish();

              return true;

           default:

              return false;

     }

  }

public void onDestroyActionMode(ActionMode mode){

  mActionMode = null;

}

public boolean onLongClick(View view){

   if(mActionMode !=null){

         return false;

    }

    mActionMode = this.startActionMode(this);

    view.setSelected(true);

    return true;

   }

}

5>ContextMenu 프로젝트를 실행합니다.




컨텍스트 액션바를 통해서 알수있는건 리스트뷰를 롱클릭 하였을경우 위의 상단에

액션바가 생성된다. 컨텍스트 액션바는 액션바와 관련이 있지않기 때문에 이들은

각각 독립적으로 동작이 된다. 

마지막으로 컨텍스트 액션모드를 제공하는 방법에는 기본적으로 각가의 뷰에 컨텍스트 액션 모드를 추가하는 방법과 기리드 뷰나 리스트 뷰에 항목들에 한꺼번에 추가하는 방법이 있습니다.



반응형
LIST

+ Recent posts