android视图的一些总结

先把要写的写下来,有时间再详写

1、有关weight和width/height优先度的问题

2、有关padding和margin的一问题:padding在父容器,margin在子容器可以实现相同的效果,但是依然有不同之处

3、有关父容器的gravity和oritation的区别:虽然都是对子控件的位置进行设置,oritation功能较少,仅仅垂直和水平,gravity功能则较多,中心,水平中心,垂直中心等

4、gravity和layout_gravity区别,以及相关的问题前者是对容器而言,后者是对本身而言

5、不同布局下部分属性失效的问题,如RelativeLayout下没有padding属性,还有相关问题如LinearLayout下选择layout_marginRight属性无效等问题

6、actionbar上添加button以外的控件等问题,比如actionbar上添加开关控件

----------------------------------------------------------------------------------------------------------------------------------------------------

(2015年11月19日16:18:56)

    今天总结下spinner和scrollView,首先是spinner,要给这个下拉框设置选择事件容易,但要设置点击事件则需要自己处理,它本身没有带点击事件,咱们可以用触摸事件代替

public class mOnTouchListener implements View.OnTouchListener{
        @Override
        public boolean onTouch(View v, MotionEvent event) {
   
                case R.id.spinner_meals:{
                    switch (event.getAction()){
                        case MotionEvent.ACTION_DOWN:
                            break;
                        case MotionEvent.ACTION_MOVE:
                            break;
                        case MotionEvent.ACTION_UP:
                            scrollView.smoothScrollTo(0, scrollViewMeasuredHeight - height);
                            break;
                    }
                    break;
                }
            }
            return false;
        }
    }
还有一点就是不用设置点击间隔,也就是不用防抖,因为当下拉框展开的时候是无法获取触摸事件的

    让后就是scrollView,要在程序运行当中设置位置可以用如下方式

       final int height=scrollView.getHeight();//显示部分
       final int scrollViewMeasuredHeight=scrollView.getChildAt(0).getMeasuredHeight();//实际部分
       final int scrollY=scrollView.getScrollY();//超出部分
       Log.v("TrafficMng","view.getScrollY()="+scrollY);
       Log.v("TrafficMng","view.getHeight()="+height);
       Log.v("TrafficMng","view.getMeasuredHeight()="+scrollViewMeasuredHeight);
       scrollView.scrollTo(0,scrollViewMeasuredHeight-height);//滑到底
    scrollView还有几个方法,
 scrollView.smoothScrollTo(0,10);//动画滑动
 scrollView.smoothScrollBy(0,10);
 scrollView.scrollBy(0,10);//相对位置

----------------------------------------------------------------------------------------------------------------------------------------------------------

(2015年11月23日15:35:47)

    抽下时间说下第五个问题,之所以在linearLayout下layout_marginRight无效并不是真的无效,而是先后问题,在linearLayout的orientation设置为horizontal时,控件默认是从左向右排列的,layout_marginRight属性并不是绝对属性,而是指靠右的距离不小于这个值,这样理解就比较容易了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值