1、记录Android心得及点滴

2、android ListView详解

3、RGB颜色查询对照表

4、为了做到优化ListView或GridView,适配器写法,代码记录。

public class RecordListAdapter extends BaseAdapter {public Context context;public ArrayList<PlayRecordDate> list;LayoutInflater inflater;public RecordListAdapter(Context context, ArrayList<PlayRecordDate> list,FinalBitmap fb) {this.context = context;this.list = list;inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn list.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}public class ViewHolder {private ImageView playrecord_img;private TextView playrecord_name;}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubViewHolder holder = null;if (convertView == null) {holder = new ViewHolder();convertView = inflater.inflate(R.layout.gridview_playrecord_item_layout, null);holder.playrecord_img = (ImageView) convertView.findViewById(R.id.play_record_img);holder.playrecord_name = (TextView) convertView.findViewById(R.id.play_record_name);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}holder.playrecord_img.setBackgroundResource(R.drawable.bgselector);holder.playrecord_name.setText(list.get(position).getVideoName());return convertView;}}

5.使用GridView时,通用代码记录

<GridView android:id="@+id/grid"  android:layout_width="fill_parent"  android:layout_height="fill_parent"android:cacheColorHint="#00000000"android:listSelector="#00000000" android:verticalSpacing="35px" <!-- grid元素之间的竖直间隔 如果想改变列数,可以改变这个值来达到要求 -->  android:horizontalSpacing="5px" <!--grid元素之间的水平间隔 -->  android:numColumns="auto_fit" <!--表示有多少列,如果设置为auto_fit,将根据columnWidth和Spacing来自动计算 -->  android:columnWidth="100px" <!-- 一般建议采用有像素密度无关的dip或者dp来表示-->  android:stretchMode="SpacingWidth" <!--如何填满空余的位置,模拟器采用WVGA800*480,每排4列,有4*100+5*3=415,                                  还余65px的空间,如果是columnWidth,则这剩余的65将分摊给4列,每列增加16/17px。                                  如果采用SpacingWidth,则分摊给3个间隔空隙 -->  android:gravity="center" /> 

常用GridView每项的布局

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="220dp"    android:layout_height="wrap_content"    >    <ImageView        android:id="@+id/play_record_img"        android:layout_width="220dp"        android:layout_height="300dp"        android:layout_centerHorizontal="true"        android:scaleType="fitXY"/>    <TextView//当字数比较多的时候,该TextView会滚动显示文字 解决TextView不用获取焦点也能实现跑马灯        android:id="@+id/play_record_name"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@id/play_record_img"        android:layout_centerHorizontal="true"        android:ellipsize="marquee"        android:lines="1"        android:marqueeRepeatLimit="marquee_forever"        android:singleLine="true"        android:textColor="#FFFFFF"        android:textSize="26dip" /></RelativeLayout>

如果只在图片上做选中状态时,可以写一个选择器selector

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" >    <item android:state_focused="true" android:drawable="@drawable/select"></item><item android:state_selected="true" android:drawable="@drawable/select"></item></selector>

再把选择器加入到图片背景上,这样就会做到焦点在哪里,该ImageView就会出现选择样式
img.setBackgroundResource(R.drawable.bgselector);
1、提出问题:我想在同一个界面中,使用两个GridView,两个GridView一起上下滚动;
如果直接将两个GridView添加到同一个界面上,它们是各自滚动的。
因此,我考虑使用SrollView,将它们包装一下!
但这样做会提示如下信息:
The vertically scrolling ScrollView should not contain another vertically scrolling widget (GridView)
并且GridView的界面也显示不全,只显示了一部分????
解决问题:显示上面错误信息是因为ScrollView中只能包含一个子空间。要想让GridView全部显示数据,并不出现GridView滚动情况,需要重写GridView,具体请参考在SrollView中嵌套GridView或ListView


2、提出问题:根据上面的情况,点击事件触发不了该怎么解决??
解决问题:如使用gridview.setOnItemClickListener()作为点击事件的监听,需要把item中的元素全部设为android:focusable="false",android:clickable="false",意思是不处理焦点事件,不处理点击事件
这样焦点事件和点击事件就由GridView本身来处理,即gridview.setOnItemClickListener()来处理。
另一种方法就是在适配器中给其中一个元素添加img.setOnClickListener()监听,也能处理GridView的点击事件。


3、提出问题:ScrollView中嵌套GridView(已重写),ScrollView滚动条不在最顶部
解决问题;请参考http://www.eoeandroid.com/thread-301885-1-1.html






   

更多相关文章

  1. 【工作记录】android手势事件操作记录
  2. 转 20个Android很有用的代码片段
  3. Android基础考试知识点清单
  4. Android(安卓)Studio 4.1 更新内容
  5. Android:解决ViewPager和(RecyclerView、HorizontalScrollView)内部
  6. Android事件机制(二)
  7. Android广播
  8. 使用getevent监听Android输入设备文件
  9. 浅谈Android五大布局(一)——LinearLayout、FrameLayout和Absoult

随机推荐

  1. Android知识梳理:消息机制之Looper
  2. Android(安卓)Phone拨出电话流程
  3. Android(安卓)Telephony —— 手机信号实
  4. Android(安卓)界面布局
  5. 对Activity比较复杂的style设置
  6. Android开发实例之登录界面的实现
  7. Android(安卓)Studio报错:ClassLoader ref
  8. Android开发 弹出框/页面样式设置 androi
  9. 设置ProgressBar的颜色
  10. Delphi xe7 FireMonkey / Mobile (Androi