Android contextmenu 设置布局和大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android contextmenu 设置布局和大小相关的知识,希望对你有一定的参考价值。
怎么对ContextMenu的大小和布局进行设置 ,我想只显现两个菜单项,并且显示在屏幕的中央 ,由于菜单字符串较短,希望设置菜单项的宽度和高度 ,谢谢 !
参考技术A contextmenu在弹出的时候本身就是在中间的!你的字符串太长度太少!那么你可以对你的字符串进行判断,然后补充空格就行了!这样你弹出的菜单就不会那么窄了!但是我感觉系统的东西都不灵活都太丑了!你可以这么干!在你要点击的弹出contextmenu对话框的view添加一个事件,就是长按事件如:
btn.setOnLongClickListener(new OnLongClickListener()
@Override
public boolean onLongClick(View v)
return false;
);
然后再onLongClick事件里面弹出一个view
你可以用帧布局,你可以把你原来正常的LinearLayout放在真布局里面,要弹出的LineraLayout也就是类似于contextmenu的东西,你放在帧布局的下面,然后使用Layout_Gravity这个属性设置成center,这样你弹出的类似于contextmenu的东西就在中间了!
这个比那个contextmenu 好多了,而且你还可以设置 shape 样式 什么的,你想放什么放什么进去! 让contextmenu见鬼去吧!本回答被提问者采纳
android 中dialog,toast,optionmenu,contextmenu的使用
这几个界面是activity附带主界面之外,开发中常常会用到的界面元素,
dialog,toast的界面都是可以自定义的。 optionmenu和contextmenu 的界面也可自定义,但是没有dialog那么灵活,它只能自定义一些title,item之类的。
1.dialog自定义界面
AlertDialog dialog=new AlertDialog.Builder(MainActivity.this).create();
dialog.setView(view);
2.toast自定义界面
Toast toast= Toast.makeText(MainActivity.this, "abc", Toast.LENGTH_LONG);
toast.setView(new Button(MainActivity.this));
toast.show();
3.optionmenu
使用方式
public boolean onCreateOptionsMenu(Menu menu) 这个函数在只会调用一次,觉得也可以算是activity生命周期的某一部分
public boolean onPrepareOptionsMenu(Menu menu) 这个函数在menu显示之前都会调用
public boolean onOptionsItemSelected(MenuItem item) 在选择摸个item的时候会调用
4.contextmenu
contextmenu 需要registe后才能使用,注册到哪个view上,然后长按这个view,框架会回调onCreateContextMenu这个函数
this.registerForContextMenu(txt2);
contextmenu 在每次显示之前都会重新调用onCreateContextMenu
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) //每次显示之前都会调用
public boolean onContextItemSelected(MenuItem item)
以上是关于Android contextmenu 设置布局和大小的主要内容,如果未能解决你的问题,请参考以下文章