2013.09.22——— android GridView行背景

package com.sina.show.activity.custom;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Matrix;import android.graphics.Rect;import android.view.ViewGroup;import android.widget.GridView;import com.sina.show.R;/** * 设置一行的背景 * * @ClassName: MyGridView  * @date 2012-10-29 下午04:25:01  * */public class MyGridViewLineBackground extends GridView {private static String NAMESPACE_ANDROID = "http://schemas.android.com/apk/res/android";private Bitmap mBmp;private int mColumnNum;private int mRowBgHeight;public MyGridViewLineBackground(Context context, android.util.AttributeSet attrs) {super(context, attrs);mBmp = BitmapFactory.decodeResource(getResources(), R.drawable.room_more_line);  //获得列数mColumnNum = attrs.getAttributeIntValue(NAMESPACE_ANDROID,"numColumns",3);//mRowBgHeight = 23;}@Overrideprotected void dispatchDraw(Canvas canvas) {   //图片的行高        int rHeight = ((ViewGroup)getChildAt(0)).getChildAt(0).getHeight();        int width = getWidth();        int rowNum = (int)Math.ceil(getChildCount()/(double)mColumnNum);        //源绘制矩形        Rect src = new Rect(0,0,mBmp.getWidth(),mBmp.getHeight());        for(int i=0,y=rHeight-mRowBgHeight; i<rowNum; i++,y += rHeight){            //目的绘制矩形            Rect dst = new Rect(0,y,width,y+mRowBgHeight);            canvas.drawBitmap(mBmp,src,dst,null);        }        super.dispatchDraw(canvas);   } }



使用

<com.sina.show.activity.custom.MyGridViewLineBackground    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:id="@+id/room_main_bottom_grd_more"android:cacheColorHint="#00000000" android:listSelector="#00000000"android:layout_weight="1"android:fadingEdge="none"android:numColumns="3"android:layout_marginTop="10dip"android:horizontalSpacing="0dip"android:paddingLeft="20dip"        android:paddingRight="20dip"    />

更多相关文章

  1. android绘制图标
  2. 改变Android按钮背景颜色的高效方法
  3. Android图形显示系统——上层显示1:界面绘制大纲
  4. Android绘制波浪曲线,效果很赞的。
  5. Android自定义视图
  6. Android图形显示系统——下层显示4:图层合成上(合成原理与3D合成)
  7. Android图形显示系统——下层显示4:图层合成上(合成原理与3D合成)
  8. android自定义adapter 滑动屏幕时 进度条显示混乱
  9. android自定义adapter 滑动屏幕时 进度条显示混乱

随机推荐

  1. Android(安卓)Studio的Gradle官方教程
  2. Android编译系统参考手册
  3. 在Android(安卓)Studio中使用androidanno
  4. 自定义可拖拽的GridView
  5. 理解 Android(安卓)Build 系统
  6. [Android(安卓)Pro] 调用系统相机和图库,
  7. android 数据操作 2011.8.27
  8. 解决 Android(安卓)Studio : minSdkVersi
  9. Android(安卓)插拔sd广播
  10. Android:msm8909:添加自定义脚本