Android程序中怎么实现平铺效果
Android程序中怎么实现平铺效果
很简单,就像window桌面图片一样,如果图片小的话就会平铺。
在drawable文件夹中添加自己的my.xml文件,描述如:
- <?xml version ="1.0" encoding ="utf-8" ?>
- <bitmap
- xmlns:Android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/pic_bg"
- android:tileMode="repeat" />
然后再需要用的地方使用:
Xml代码- android:background="@drawable/mybg"
代码实现方式:
Java代码- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
- BitmapDrawable bd = new BitmapDrawable(bitmap);
- bd.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );
- bd.setDither(true);
- view.setBackgroundDrawable(bd);
再着可以用*.9.png实现。
可以在上左两边添加要延伸的像素行。
在Android的UI开发中,有时为了界面美观而需要虚线。
- package com.custom;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.DashPathEffect;
- import android.graphics.Paint;
- import android.graphics.Path;
- import android.graphics.PathEffect;
- import android.graphics.Rect;
- import android.util.AttributeSet;
- import android.util.DisplayMetrics;
- import android.util.Log;
- import android.view.View;
- /**
- * 画虚线组件
- * @author linweidong
- * @Date 2010-09-15
- */
- public class DashedLine extends View {
- private final String namespace = "http://com.smartmap.driverbook";
- private float startX;
- private float startY;
- private float endX;
- private float endY;
- private Rect mRect;
- public DashedLine(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
- @Override
- protected void onDraw(Canvas canvas) {
- // TODO Auto-generated method stub
- super.onDraw(canvas);
- Paint paint = new Paint();
- paint.setStyle(Paint.Style.STROKE);
- paint.setColor(Color.DKGRAY);
- Path path = new Path();
- path.moveTo(0, 10);
- path.lineTo(480,10);
- PathEffect effects = new DashPathEffect(new float[]{5,5,5,5},1);
- paint.setPathEffect(effects);
- canvas.drawPath(path, paint);
- }
XML代码
- <com.custom.DashedLine
- android:id="@+id/dashedLine"
- android:layout_width="wrap_content"
- android:layout_height="20px"
- />
评论暂时关闭