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;
}
@Override
protected 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"
/>
分享到:
相关推荐
"安卓Android源码——gridview分页效果.zip"这个压缩包可能包含了一个实现GridView分页效果的示例项目。HorizontalGridView是GridView的一个扩展,它使得数据可以横向滚动,提供了更丰富的界面展示方式。 首先,...
gridView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) {} @Override public void onScroll(AbsListView view...
这个“Android源码——GridView拖拽实例源码_new_07.7z”压缩包包含了实现GridView拖拽功能的示例代码,对于学习如何增强用户交互体验非常有帮助。 GridView的基础知识: 1. **定义**:GridView继承自AbsListView,...
gridView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } @Override public void onScroll(AbsListView ...
这个"安卓Android源码——gridview分页效果.rar"文件很可能是包含了一个实现GridView分页效果的示例项目。分页在大数据量展示时尤为重要,因为它提高了用户体验,避免一次性加载大量数据导致应用性能下降或内存溢出...
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { SharedPreferences.Editor editor ...
这个“安卓Android源码——android动态添加表格行.zip”压缩包可能包含了示例代码,用于演示如何在运行时动态创建并添加到表格布局(TableLayout)中。以下是对这个主题的详细讲解: 1. **表格布局(TableLayout)*...
`Android中文翻译组——Android中文API——android.widget合集(中).chm`文件很可能是这个主题的中文参考手册,包含了这些控件的详细解释、使用示例和API文档,对于初学者来说是一份宝贵的资源。建议读者仔细阅读并...
5. **允许全数据输出**:在转换前,`GridView.AllowPaging`属性被设置为`false`,目的是确保所有数据都能一次性输出到PDF,而不是只显示当前页的数据。 6. **Document对象**:iTextSharp库中的`Document`类代表PDF...
这个"Android源码——GridView拖拽实例源码_new_07.zip"文件提供了关于如何实现GridView元素拖拽功能的示例代码。这个功能在很多场景下都非常实用,比如在移动应用中调整图片顺序或者在文件管理器中重新排列文件。 ...
gridView.setAdapter(new GridViewAdapter(this, R.layout.grid_item, dataList)); ``` 在`GridViewAdapter`中,`dataList`是包含要显示数据的列表,`R.layout.grid_item`是单个单元格的布局资源ID。在`grid_item....
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String selectedItem = items...
在Android开发中,GridView是一个非常常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、应用快捷方式或者菜单等界面。在这个"Android GridView使用例子"中,我们将深入探讨如何有效地利用...
在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。这个"AndroidGridView点击每一个图片进入个人页面渐变特效.zip"压缩包包含的资源可能是一个示例项目,展示了如何在GridView中实现...
本压缩包提供的“安卓Android源码——GridView拖拽实例源码”是一个实战案例,展示了如何实现GridView中的元素拖拽功能,这对于提升用户体验和增强应用交互性具有重要意义。 首先,我们需要理解GridView的基本用法...
gridView.setAdapter(adapter); ``` 这里,`dataList`是存储数据的列表,`item_layout`是单个单元格的布局文件。 4. 单元格布局:在`item_layout.xml`中设计每个单元格的外观,例如: ```xml <LinearLayout xmlns:...