Android开发技巧总结(持续更新中。。。)

一、解决relativelayout与framelayout穿透问题

解决方法:在上层最外层布局中添加

android:clickable="true"

二、如何在有ListView的Activity中控制ListView中的控件

答案:

在Listview的adapter里面定义一个方法,并定义一个标志位,在getview方法里面判断如果标志位为true,则把item中的button.setVisibility(View.GONE);在这个方法里面写如下代码

public void controlCheckboxShow(boolean b) {
        isShowCheckBox = b;
        notifyDataSetChanged();
    }

isShowCheckBox 为adapter的全局变量,在activity中的按钮点击时间中,调用adapter的这个方法,并把boolean值传过来

三、 如何取消edittext自动弹出软键盘这个默认行为呢?
解决方法一:直接在布局设置

<LinearLayout
            android:focusable="true"
            android:focusableInTouchMode="true">

            <EditText/>
</LinearLayout>

解决方法二:在代码中关闭软件盘,比较麻烦,不做解释

四、listview

1、在activity在中的控件,如果想在adapter中使用,直接放在在构造器中就好;
2、listview向上滑动的时候有白边,此时listviewmarginTop要设置为0,dividerHight设置为0,在条目布局中的跟布局中设置paddingTop;

五、scrollview边界阴影处理

1、删除Android ScrollView边界阴影方法方法

①在xml中添加:android:fadingEdge=”none”
②代码中添加:ScrollView.setHorizontalFadingEdgeEnabled(false);

2、删除ScrollView拉到尽头(顶部、底部),然后继续拉出现的阴影效果

适用于2.3及以上的 否则不用设置

android:overScrollMode="never"

六、pop点击外围消失

在setlocation前边添加: popupWindow.setOutsideTouchable(true);

七、activity之间传递对象或者对象集合

对象实体要实现Parcelable或Serializable,但注意的是对象中包含的对象也要实现这两个接口中的一个

传递

intent.putExtra("a",Object);
intent.putParcelableArrayListExtra("bookList", list);

八、scrollview超过一屏时默滑到底部解决方法
**原因:**childView 有获取焦点的能力
由于该 childView 超过屏幕大小,并且有获取焦点的能力,所以造成了该问题。由于不能改变其大小,只能阻止其获取焦点。基本思路有,取消它获取焦点的能力,让ScrovView截获它的焦点等。

解決辦法:
解决方法一:

new Handler().post(new Runnable() {
                                        @Override
                                        public void run() {
                                            scrollView.scrollTo(0, 0);
                                        }
                                    });

解决方法二:
ScrollView 下的 LinearLayout 中加了android:descendantFocusability="blocksDescendants"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值