一、解决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"