码迷,mamicode.com
首页 > 移动开发 > 详细

在android 自定义listView中绘制矩形

时间:2014-12-22 14:34:21      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:android   android开发   

我想在android 在listview中绘制自定义的形状,我在网上找了代码但是没有运行通过,我现在有一个可以绘制矩形的 DrawView.java类,我想在我的自定义listView中展示这个对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
DrawView.java
package com.example.horizontalscrollview;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
 
public class DrawView extends View {
  
    Paint paint = new Paint();
 
 
 
    public DrawView(Context context) {
  
        super(context);           
  
    }
 
 
 
    @Override
  
    public void onDraw(Canvas canvas) {
  
        paint.setColor(Color.BLACK);
  
        paint.setStrokeWidth(3);
  
        canvas.drawRect(30, 30, 180, 180, paint);
 
 
 
 
    }
 
 
 
}
}


我的配置文件如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 
    android:layout_width="wrap_content"
 
    android:layout_height="wrap_content"
 
    android:orientation="vertical"
 
    android:layout_margin="60dp"
 
    android:id="@+id/mainLayout"
 
     >

 

     <com.example.horizontalscrollview.DrawView
 
        android:id="@+id/drawview"
 
        android:layout_width="wrap_content"
 
        android:layout_height="wrap_content"
 
        android:layout_alignParentBottom="true" >
 
      </com.example.horizontalscrollview.DrawView>

 

<
</LinearLayout>


listview 适配器的   getView() 函数如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public View getView(final int position,  View convertView, final ViewGroup parent) {
 
 
 
        Toast.makeText(c, "Clicked on="+position, 1).show();
  
        convertView = mInflater.inflate(R.layout.news_list_item,null);
  
        DrawView rl = (DrawView)convertView.findViewById(R.id.drawview);
  
        DrawView draw = new DrawView(c);
  
        rl=draw;
  
        return convertView;
}
}

处理方法

追加下面的xml内容

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
a
android:layout_width="wrap_content"
a
android:layout_height="wrap_content"
a
android:orientation="vertical"
 
 android:layout_margin="60dp"
a
android:id="@+id/mainLayout"
 
 >

 

 <com.example.horizontalscrollview.DrawView
 
    android:id="@+id/drawview"
 
    android:layout_width="wrap_content"
 
    android:layout_height="wrap_content"
 
    android:layout_alignParentBottom="true" >
 
  </com.example.horizontalscrollview.DrawView>

 

<
</LinearLayout>


getView 方法如下:
public View getView(final int position,  View convertView, final ViewGroup parent) {

 

    Toast.makeText(c, "Clicked on="+position, 1).show();
 
    convertView = mInflater.inflate(R.layout.news_list_item,null);

 

    return convertView;
}
}


这个应该能够正常运行


原文地址:http://www.itmmd.com/201411/120.html 
该文章由 萌萌的IT人 整理发布,转载须标明出处。

在android 自定义listView中绘制矩形

标签:android   android开发   

原文地址:http://blog.csdn.net/androidmylove/article/details/42078699

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!