我在Android开发中遇到的问题
1.RecycleView中item的宽度没有填充屏幕
最近使用recyclerview 每次绘制的item 虽然写的是填充父控件,但是每次效果都是包裹内容。没有填满手机屏幕,后来才意识到是填充子view的时候,onCreateViewHolder方法写错了。
错误类型:
//这么添加布局,item中的marchparent将会失效
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
ViewHolder holder = new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.rv_item_second,null));
return holder;
}
正确写法:
// 这么做为自适应的item 随着item的大小变化而变化
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
ViewHolder holder = new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.rv_item_second,parent,false));
return holder;
}
2.EditText 设置为默认不获取焦点
只需要在EditText外层的布局中设置
android:focusable=”true”
android:focusableInTouchMode=”true”
布局文件如下:
<RelativeLayout
...
android:focusable="true"
android:focusableInTouchMode="true"
.../>
<EditText/>
</RelativeLayout>
3.给控件背景颜色设置阴影
使用shape自己画一个。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 第一层 上部和左部偏移一定距离-->
<item>
<shape>
<solid android:color="#eee" />
</shape>
</item>
<!-- 第二层 下部和有部偏移一定距离-->
<item
android:bottom="2dp">
<shape>
<solid android:color="#ffffff" />
</shape>
</item>
</layer-list>