在android 自定义listView中绘制矩形

文章标签: android,android-listview
2014-11-4 15:12:59     人阅读    

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

 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() 函数如下

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 app如何检查和管理activity 的结果   上一篇
下一篇  android listview中自定义适配器和复选框
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!