У меня получилось так:Айрат_К писал(а):Всем привет))) Есть урок 15 сделанный через XML код?) Ни как не могу разобраться) Благодарю за внимание)
context_menu.xml
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/groupColor">
<item
android:id="@+id/color_red"
android:title="red">
</item>
<item
android:id="@+id/color_green"
android:title="green">
</item>
<item
android:id="@+id/color_blue"
android:title="blue">
</item>
</group>
<group android:id="@+id/groupSize">
<item
android:id="@+id/size_22"
android:title="size 22">
</item>
<item
android:id="@+id/size_26"
android:title="size 26">
</item>
<item
android:id="@+id/size_30"
android:title="size 30">
</item>
</group>
</menu>
Код: Выделить всё
package com.objem.p0152contextmenuxml;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView textColor, textSize;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textColor = (TextView) findViewById(R.id.myColor);
textSize = (TextView) findViewById(R.id.mySize);
registerForContextMenu(textColor);
registerForContextMenu(textSize);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
switch (v.getId()) {
case R.id.myColor:
getMenuInflater().inflate(R.menu.context_menu, menu);
menu.setGroupVisible(R.id.groupSize, false);
break;
case R.id.mySize:
getMenuInflater().inflate(R.menu.context_menu, menu);
menu.setGroupVisible(R.id.groupColor, false);
break;
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.color_red:
textColor.setTextColor(Color.RED);
textColor.setText("Text color = red");
break;
case R.id.color_green:
textColor.setTextColor(Color.GREEN);
textColor.setText("Text color = green");
break;
case R.id.color_blue:
textColor.setTextColor(Color.BLUE);
textColor.setText("Text color = blue");
break;
case R.id.size_22:
textSize.setTextSize(22);
textSize.setText("Text size = 22");
break;
case R.id.size_26:
textSize.setTextSize(26);
textSize.setText("Text size = 26");
break;
case R.id.size_30:
textSize.setTextSize(30);
textSize.setText("Text size = 30");
break;
}
return super.onContextItemSelected(item);
}
}