2013-05-29 91 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