具体实现方法和上节的折叠菜单差不多
首先是做一个menu文件然后在添加菜单的方法内获取,然后在点击事件方法中设置点击事件,区别就是,这里需要新建一个textview尺寸需要占满屏幕,然后在注册方法中注册这个textview就可以点击改变这个textview的背景颜色了
首先创建menu文件
然后在主页面添加一个文字组件,尺寸填满屏幕
最后在主页面写逻辑
package com.example.contextmenu; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.graphics.Color; import android.os.Bundle; import android.view.ContextMenu; import android.view.MenuItem; import android.view.View; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private TextView textView; //声明一个textview @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.tv); //把声明的textview绑定 registerForContextMenu(textView); //把上下文菜单注册到textview上 } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); getMenuInflater().inflate(R.menu.menu_colour,menu); } @Override public boolean onContextItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.red: textView.setBackgroundColor(Color.RED); break; case R.id.blue: textView.setBackgroundColor(Color.BLUE); break; case R.id.green: textView.setBackgroundColor(Color.GREEN); break; } return super.onContextItemSelected(item); } }
最终效果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)