Android程序中怎么实现平铺效果


很简单,就像window桌面图片一样,如果图片小的话就会平铺。

在drawable文件夹中添加自己的my.xml文件,描述如:

  1. <?xml version ="1.0" encoding ="utf-8" ?>    
  2. <bitmap    
  3.     xmlns:Android="http://schemas.android.com/apk/res/android"    
  4.     android:src="@drawable/pic_bg"    
  5.     android:tileMode="repeat" />    

然后再需要用的地方使用:

Xml代码
  1. android:background="@drawable/mybg"    

代码实现方式:

Java代码
  1. Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);    
  2. BitmapDrawable bd = new BitmapDrawable(bitmap);    
  3. bd.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );    
  4. bd.setDither(true);    
  5. view.setBackgroundDrawable(bd);   

再着可以用*.9.png实现。

可以在上左两边添加要延伸的像素行。

在Android的UI开发中,有时为了界面美观而需要虚线。

  1. package com.custom;    
  2.     
  3.    import android.content.Context;    
  4. import android.graphics.Canvas;    
  5. import android.graphics.Color;    
  6. import android.graphics.DashPathEffect;    
  7. import android.graphics.Paint;    
  8. import android.graphics.Path;    
  9. import android.graphics.PathEffect;    
  10. import android.graphics.Rect;    
  11. import android.util.AttributeSet;    
  12. import android.util.DisplayMetrics;    
  13. import android.util.Log;    
  14. import android.view.View;    
  15. /**  
  16.  * 画虚线组件  
  17.  * @author linweidong  
  18.  * @Date   2010-09-15  
  19.  */    
  20. public class DashedLine extends View {    
  21.     private final String namespace = "http://com.smartmap.driverbook";    
  22.     private float startX;    
  23.     private float startY;    
  24.     private float endX;    
  25.     private float endY;    
  26.     private Rect mRect;    
  27.       
  28.     public DashedLine(Context context, AttributeSet attrs) {    
  29.         super(context, attrs);              
  30.             
  31.     }    
  32.     
  33.     @Override    
  34.     protected void onDraw(Canvas canvas) {    
  35.         // TODO Auto-generated method stub     
  36.         super.onDraw(canvas);            
  37.         Paint paint = new Paint();    
  38.         paint.setStyle(Paint.Style.STROKE);    
  39.         paint.setColor(Color.DKGRAY);    
  40.         Path path = new Path();         
  41.         path.moveTo(010);    
  42.         path.lineTo(480,10);          
  43.         PathEffect effects = new DashPathEffect(new float[]{5,5,5,5},1);    
  44.         paint.setPathEffect(effects);    
  45.         canvas.drawPath(path, paint);    
  46.     }    
在layout文件夹下的xml引用这个控件
XML代码
  1. <com.custom.DashedLine     
  2.      android:id="@+id/dashedLine"    
  3.      android:layout_width="wrap_content"             
  4.      android:layout_height="20px"                  
  5.                         
  6.       />    

相关内容