2013-05-29 93 views
2

我有一个图像视图。我从可绘制的图像视图设置了一个图像。现在我想在该图像的边界上画线。谁能帮助实现这一目标?我审查了使用路径它可以完成。我想提请行只在动画的方式,图像的边界...在此先感谢..仅在图像边框上使用Android绘制线条动画

我试图像这样

 Path path = new Path(); 
    Canvas c = new Canvas(); 
    path.addRect(view.getLeft(),view.getTop(),view.getRight(),view.getBottom(),Path.Direction.CW); 
    Paint p = new Paint(); 
    p.setColor(Color.GREEN); 
    c.drawPath(path, p); 

回答

0

这正是产生动画的线,你可以直接调整视图边缘的路径以创建边框。例如:

您的视图参数/任意形状定义的路径:

Path path = new Path(); 
Canvas c = new Canvas(); 
Paint mPaint= new Paint(); 
path.addRect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom(), Path.Direction.CW); 
PathEffect pe = new DashPathEffect(new float[] {10, 5, 5, 5}, phase); 
mPaint.setPathEffect(pe); 
c.drawPath(path, mPaint); 

或者你可以用XML作为这样的

绘制/ dotted.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="line"> 

    <stroke 
     android:color="#C7B299" 
     android:dashWidth="10px" 
     android:dashGap="10px" /> 
</shape> 

view.xml:

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/dotted" /> 
+0

我尝试了上面的相同代码,但没有出现在我的屏幕中。我只有相同的图像。 – Balaji

+0

Path path = new Path(); Canvas c = new Canvas(); \t \t Paint mPaint = new Paint(); \t \t //球员是我在这里的图像 \t \t path.addRect(player.getLeft(),player.getTop(),player.getRight(),player.getBottom(),Path.Direction.CW); \t \t PathEffect pe = new DashPathEffect(new float [] {10,5,5,5},phase); \t \t mPaint.setPathEffect(pe); \t \t mPaint.setColor(Color.GREEN); \t \t c.drawPath(path,mPaint); – Balaji

0

简单的解决方案,这将是与中风创建在绘制文件夹的形状有史以来颜色和宽度你想,然后只把它作为图像背景,这将显示为边界的图像

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#00000000"/> 
    <corners android:radius="10px"/> 
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> 
    <stroke 
     android:width="2px" 
     android:color="#ffffff" 
     /> 
</shape> 

现在只需将该图形设置为布局文件中的图像背景,并且您将看到图像周围的白色边框

+3

我不想设置边框..我想在该图像视图的边框上画动画。 – Balaji

+0

只在一边? –

+0

没有。为该图像的四面。 – Balaji