2017-10-19 7 views
-2

私のプロジェクトにURLを介して画像を取得したいのですが、プロジェクトに複数の画像が表示されており、画像URLも持っています。画像をページフリップとして表示したり、次のボタンで画像のURLを押したりしたい。私はピカソの図書館でURLを使って1つの画像を表示する方法を知っていますが、複数の画像を表示することはできません。したがって、私がAndroidに慣れていないので、そうすることができます。ここでURLを使って複数の画像を表示する方法

私のコードであると私はカールビューの効果で画像を表示しています... URLから画像を表示するために、ここで私を助けて...

import android.annotation.SuppressLint; 
    import android.graphics.Bitmap; 
    import android.graphics.Canvas; 
    import android.graphics.Color; 
    import android.graphics.Paint; 
    import android.graphics.Rect; 
    import android.graphics.drawable.Drawable; 
    import android.os.Bundle; 
    import android.support.v7.app.AppCompatActivity; 
    import android.widget.ImageView; 
    import com.squareup.picasso.Picasso; 
    import java.util.Objects; 

    public class Braids extends AppCompatActivity { 

CurlView cv; 
int index=0; 
String type; 
String abcd[]={"https://imgur.com/zSX6k5m.png","https://imgur.com/Xhjz9HC.png","https://imgur.com/8hOKrBf"}; 
ImageView img; 
private int[] mBitmapIds; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_braids); 

    cv = (CurlView) findViewById(R.id.curls); 
    type=getIntent().getExtras().getString("CheckShirt"); 
    if(type.equals("braids")){ 

     for(int i=0;i<abcd.length;i++) 
     { 
       //printing url 
     } 
} 
    else if(type.equals("buns")) 
{ 
    mBitmapIds= new int[]{}; 
} 
    else if (type.equals("fallinghairs")) 
{ 
    mBitmapIds=new int[]{}; 
} 
    cv.setPageProvider(new PageProvider()); 
    cv.setSizeChangedObserver(new SizeChangedObserver()); 
    cv.setSoundEffectsEnabled(true); 
    cv.setCurrentIndex(index); 
    cv.setBackgroundColor(Color.BLACK); 
    cv.setAllowLastPageCurl(false); 


} 

private class SizeChangedObserver implements CurlView.SizeChangedObserver { 
    @Override 
    public void onSizeChanged(int w, int h) { 

     if (w > h) { cv.setViewMode(CurlView.SHOW_TWO_PAGES); 
     } 

     else { 

      cv.setViewMode(CurlView.SHOW_ONE_PAGE); 

     } 
    } 
} 

private class PageProvider implements CurlView.PageProvider { 

    // Bitmap resources. 


    @Override 
    public int getPageCount() { 
     return mBitmapIds.length; 
    } 

    @SuppressLint("NewApi") private Bitmap loadBitmap(int width, int height, int index) { 
     Bitmap b = Bitmap.createBitmap(width, height, 
       Bitmap.Config.ARGB_8888); 




     b.eraseColor(0xFFFFFFFF); 
     Canvas c = new Canvas(b); 
     Drawable d = getResources().getDrawable(mBitmapIds[index]); 

     int margin = 0; 
     int border = 0; 
     Rect r = new Rect(margin, margin, width - margin, height - margin); 

     int imageWidth = r.width() - (border * 2); 
     int imageHeight = imageWidth * d.getIntrinsicHeight() 
       /d.getIntrinsicWidth(); 
     if (imageHeight > r.height() - (border * 2)) { 
      imageHeight = r.height() - (border * 2); 
      imageWidth = imageHeight * d.getIntrinsicWidth() 
        /d.getIntrinsicHeight(); 
     } 


     Paint p = new Paint(); 
     p.setColor(0xFFC0C0C0); 
     c.drawRect(r, p); 
     r.left += border; 
     r.right -= border; 
     r.top += border; 
     r.bottom -= border; 

     d.setBounds(r); 
     d.draw(c); 

     return b; 
    } 



    @Override 
    public void updatePage(CurlPage page, int width, int height, int index) { 


     Bitmap front = loadBitmap(width, height, index); 
     page.setTexture(front, CurlPage.SIDE_BOTH); 
     page.setColor(Color.argb(127, 255, 255, 255), CurlPage.SIDE_BACK); 



    } 

} 

}

+0

これまでに試したことのあるもの –

+1

ImageUrlの配列を作成し、スワイプまたは次のボタンを押して次の配列インデックスを渡します。 –

+0

あなたはURLから1つの画像を読み込み、次のボタンを押すと次の画像URLをピカソに渡し、次の画像を要求時に読み込みます。すべての画像をプリロードするわけではありません。 –

答えて

0

あなたはで表示したい場合はあなたはFacebookのフレスコ画を使用することができます同じページ。あなたはグライドライブラリを使用することができます

関連する問題