android listview去掉背景,android-如何设置背景的listview?

编辑:当我有一个教程

当您要动态绘制一些二维图形时,ShapeDrawable对象可能会满足您的需求.使用ShapeDrawable,您可以以编程方式绘制基本形状并以任何可以想象的方式对其进行样式设置.

ShapeDrawable是Drawable的扩展,因此可以在希望使用Drawable的任何地方使用它-也许是将View设置为setBackgroundDrawable()的背景.当然,您也可以将形状绘制为自己的自定义View,添加它到您的布局,但是请.由于ShapeDrawable具有其自己的draw()方法,因此可以创建View的子类,该子类在View.onDraw()方法期间绘制ShapeDrawable.这是View类的基本扩展,它执行此操作,以将ShapeDrawable绘制为View:

public class CustomDrawableView extends View {

private ShapeDrawable mDrawable;

public CustomDrawableView(Context context) {

super(context);

int x = 10;

int y = 10;

int width = 300;

int height = 50;

mDrawable = new ShapeDrawable(new OvalShape());

mDrawable.getPaint().setColor(0xff74AC23);

mDrawable.setBounds(x, y, x + width, y + height);

}

protected void onDraw(Canvas canvas) {

mDrawable.draw(canvas);

}

}

在构造函数中,将ShapeDrawable定义为OvalShape.然后为其指定颜色,并设置形状的边界.如果未设置边界,则不会绘制形状,而如果未设置颜色,则默认为黑色.

使用定义的自定义视图,可以按您喜欢的任何方式绘制它.通过上面的示例,我们可以在Activity中以编程方式绘制形状:

CustomDrawableView mCustomDrawableView;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mCustomDrawableView = new CustomDrawableView(this);

setContentView(mCustomDrawableView);

}

如果要从XML布局而不是从Activity绘制此自定义可绘制对象,则CustomDrawable类必须重写View(Context, AttributeSet)构造函数,该构造函数在通过XML的膨胀实例化View时调用.然后将CustomDrawable元素添加到XML,如下所示:

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

ShapeDrawable类(像android.graphics.drawable包中的许多其他Drawable类型一样)使您可以使用公共方法定义drawable的各种属性.您可能需要调整的一些属性包括Alpha透明度,滤色器,抖动,不透明度和颜色.

您还可以使用XML定义基本可绘制形状.有关更多信息,请参见Drawable Resources document中有关形状可绘制对象的部分.

试试吧 :

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_width="fill_parent"

android:layout_height="fill_parent"/>

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:cacheColorHint="#00000000"/>

并将您的自定义可绘制对象设置为ImageView.

希望这会起作用. ?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值