클릭을 길게하여 나타나는 메뉴를 보인다. 컴퓨터의 우클릭과 비슷한 기능을 한다.
@drawable에 삽입하는 그림의 해상도가 지나치게 클 경우 프로그램이 죽는 현상이 발생한다.
------------------ xml파일 내용 ----------------------------
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context=".MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editext"
android:text="EditText"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Image1"
android:src="@drawable/woman3"
/>
</androidx.appcompat.widget.LinearLayoutCompat>
---------------------------- mainActivity.java-----------------------------------
public class MainActivity extends AppCompatActivity {
Button mBtn;
EditText mEdit;
ImageView mImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtn = (Button)findViewById(R.id.button1);
registerForContextMenu(mBtn);
mEdit = (EditText)findViewById(R.id.editext);
registerForContextMenu(mEdit);
mImage = (ImageView) findViewById(R.id.Image1);
registerForContextMenu(mImage);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
if (v == mBtn) {
menu.setHeaderTitle("Button Menu");
menu.add(0,1,0,"red");
menu.add(0,2,0,"green");
menu.add(0,3,0,"blue");
}
if (v==mEdit){
menu.add(0,4,0,"번역");
menu.add(0,5,0,"작곡");
}
if (v==mImage){
menu.setHeaderTitle("Image Menu");
menu.add(0,100,0,"회전");
menu.add(0,200,0,"이동");
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
super.onContextItemSelected(item);
switch (item.getItemId())
{
case 1:
mBtn.setTextColor(Color.RED);
return true;
case 2:
mBtn.setTextColor(Color.GREEN);
return true;
case 3:
mBtn.setTextColor(Color.BLUE);
return true;
case 4:
Toast.makeText(this,"번역",Toast.LENGTH_SHORT).show();
return true;
case 5:
Toast.makeText(this,"작곡",Toast.LENGTH_SHORT).show();
return true;
case 100:
Toast.makeText(this,"회전",Toast.LENGTH_SHORT).show();
return true;
case 200:
Toast.makeText(this,"이동",Toast.LENGTH_SHORT).show();
return true;
}
return true;
}
}
'IT 통신 수학 과학 > 자바 안드로이드' 카테고리의 다른 글
AdapterView 다중선택 (0) | 2020.11.02 |
---|---|
AdapterView2 (0) | 2020.11.01 |
ArrayAdapter (0) | 2020.10.28 |
Android popmenu (0) | 2020.09.08 |
menu기능//item.setIcon(R.drawable.ic_launcher)오류 (0) | 2020.09.02 |
타이머 메시지 핸들러 (0) | 2020.08.29 |
버튼 리스너 구현 (0) | 2020.08.23 |
터치 입력시험 (0) | 2020.08.19 |