2012-08-17 3 views
3
package com.example.imagechange; 

public class MainActivity extends Activity 
{ 

ImageView imageView; 
int []imageArray={R.drawable.a0,R.drawable.a1,R.drawable.a2,R.drawable.a3}; 


@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    imageView = (ImageView)findViewById(R.id.imageView1); 

    final Handler handler = new Handler(); 
    Runnable runnable = new Runnable() 
    { 
       int i=0; 
       public void run() 
       { 
        imageView.setImageResource(imageArray[i]); 
        i++; 
        if(i>imageArray.length-1) 
        { 
        i=0;  
        } 
        handler.postDelayed(this, 3000); //for interval... 
       } 

    }; 
      handler.postDelayed(runnable, 1000); //for initial delay.. 
    } 




@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
    } 
} 

MY ACTIVITY_MAIN :ImageView에서 주기적으로 이미지가 변경됩니다. . .

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 



<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="150dp" 
    android:layout_height="150dp" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:contentDescription="@string/app_name" 
    android:layout_marginTop="56dp" 
    android:src="@drawable/a0" /> 

</RelativeLayout> 

그래서 위의 코드에서, 내가 그릴 수있는 이미지를 복사하고 주기적으로 변경하지만 난 url에서 이미지를 얻고 ImageView에 표시해야 .

+0

이미지가 주기적으로 ImageView에서 변경됩니다. . . . (이것은 무엇을 의미합니까?) URL에서 비트 맵을 만드는 방법을 알고 싶습니까? – Shrikant

+0

실제로 웹 사이트에서 이미지를 가져오고 싶습니다. . . 내가 몇 가지 4 URL을 가지고 그것을 다운로드하고 ImageView에서 보여주는 또한 정기적 인 시간 간격으로 동일한 imageview에서 이미지를 변경해야만한다고. . . . –

답변

0

코드는 라인의 리소스로부터 이미지를 설정

imageView.setImageResource (imageArray [I]);

대신 URL에서 이미지를로드하려면 UrlImageViewHelper을 사용하십시오.

0

다음 코드를 시도하십시오. 먼저 URL에서 이미지 경로를 가져온 다음이 URL을이 함수에 전달해야합니다.

public static Bitmap getBitmapFromURL(String src) { 
    try { 
     URL url = new URL(src); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
     connection.setDoInput(true); 
     connection.connect(); 
     InputStream input = connection.getInputStream(); 
     Bitmap myBitmap = BitmapFactory.decodeStream(input); 
     return myBitmap; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 

아무것도 너무 복잡 - 단순히 "SRC"문자열 (예 : 문자열 SRC = "http://thinkandroid.wordpress.com")를 사용하여 URL 객체를 생성, 그것을 연결하고,에 안드로이드의 BitmapFactory 클래스를 사용 입력 스트림을 디코드합니다. 결과는 원하는 Bitmap 객체 여야합니다! 그리고 그 이후 :

imageView.setImageBitmap(bitmap); 
+0

답장을 보내 주셔서 감사 드리며 SmartImageView - http://loopj.com/android-smart-image-view/를 다운로드하여 완료했습니다. –

2
ImageView MyImageView; 
int []imageArray={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.one); 
    MyImageView=(ImageView)findViewById(R.id.imageView1); 

    /*here the countdown start for images*/ 

    final Handler handler = new Handler(); 
    Runnable runnable = new Runnable() { 
     int i=0; 
     public void run() { 
      MyImageView.setImageResource(imageArray[i]); 
      i++; 
      if(i>imageArray.length-1) { 
       i=0;  
      } 
      handler.postDelayed(this, 500); //for interval... 
     } 
    }; 
    handler.postDelayed(runnable, 2000); //for initial delay.. 
    /*here the button click counter start */ 
} 

re>layouts>drawable 먼저 그릴 수 폴더를 확인하고 장소의 이미지는 그것에서, b.png 등 a.png.

관련 문제