Android布局方式和长按监听事件

Android 中布局方式:

1、       LinearLayout(线性布局)

线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:orientation”属性可以设置线性布局的方向。属性值有垂直(vertical)和水平(horizontal)两种。

 

常用的属性:

android:orientation:可以设置布局的方向
android:gravity:用来控制组件的对齐方式
layout_weight:控制各个组件在布局中的相对大小

 

2、       RelativeLayout (相对布局)

相对布局是按照组件之间的相对位置来布局,比如在某个组件的左边,右边,上面和下面等。

 

3、       FramLayout(帧布局)

帧布局是从屏幕的左上角(0,0)坐标开始布局,多个组件层叠排列,第一个添加的组件放到最底层,最后添加到框架中的视图显示在最上面。上一层的会覆盖下一层的控件。

 

4、       TableLayout(表格布局)

表格布局是一个ViewGroup以表格显示它的子视图(view)元素,即行和列标识一个视图的位置。

表格布局常用的属性如下:

android:collapseColumns:隐藏指定的列
android:shrinkColumns:收缩指定的列以适合屏幕,不会挤出屏幕
android:stretchColumns:尽量把指定的列填充空白部分
android:layout_column:控件放在指定的列
android:layout_span:该控件所跨越的列数

 

5、       AbsoluteLayout(绝对布局)

绝对布局通过指定子组件的确切X,Y坐标来确定组件的位置,在Android2.0 API文档中标明该类已经过期,可以使用FrameLayout或者RelativeLayout来代替。

 

长按注册监听事件registerForContextMenu(View view);:

     该方法是Context的方法,主要用于长按事件处理,其源代码如下:

public void registerForContextMenu(View view) {  

     view.setOnCreateContextMenuListener(this);  

 }  

其中setOnCreateContextMenuListener方法:public void setOnCreateContextMenuListener(OnCreateContextMenuListener l) {

if (!isLongClickable()) {  

setLongClickable(true);  

}  

getListenerInfo().mOnCreateContextMenuListener = l;

 }  

registerForContextMenu(View view)

覆写context menu的两个回调函数onCreateContextMenu()和onContextItemSelected(),以响应context menu点击事件;
这是官方文档给出的实现floating context menu的标准步骤;
需要说明的是这种方法实现的context menu是一个listview,可能还需要进一步自定义以实现你想要的布局;on UI 3.1基于Android5.0

然后需要侦听到WebView文本选中的事件,以在选中文字后,调用Activity.openContextMenu()弹出自定义的floatingcontext menu;
webview并没有提供文本选中的listener,所以可能得需要继承WebView,覆写它的某些方法.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值