2013-11-26 146 views
0

我似乎無法得到這些圖像視圖的工作。我不想動態地創建一些圖片視圖,但我希望他們有一個從XML模板左右。動態創建imageview

我的循環看起來像這樣:

LinearLayout layout = (LinearLayout) findViewById(R.id.mainLinearLayout); 

    for (int i=0; i<10; i++){ 

     ImageView imgView = new ImageView(this); 
     imgView.setAdjustViewBounds(true); 
     imgView.setId(R.id.coverview1); 
     layout.addView(imgView); 
     Picasso.with(context).load("http://blah.com/image.jpg").into(imgView); 

    } 

我創建幾個圖像,只是把他們中的一些臨時性的圖像,但似乎無法改變圖像大小,在所有。

這裏是我的xml:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 


    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:orientation="vertical" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:id="@+id/mainLinearLayout"> 

     <RelativeLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"> 
      <ImageView 
       android:id="@+id/coverview1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:scaleType="fitCenter" 
       android:adjustViewBounds="true" 
       android:maxWidth="20dp" 
       android:layout_gravity="center_horizontal" /> 
     </RelativeLayout> 
    </LinearLayout> 

</ScrollView> 

以下面的答案的意見,我說什麼,他說,但現在我不能夠改變比例類型。

imgView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
imgView.setAdjustViewBounds(true); 

但圖像仍然是容器的高度,而不是拉伸。

+0

「似乎無法改變圖像大小,在所有的」你是什麼意思? – Subbu

+0

我的意思是我想要設置它,使它不是設備的全部寬度,有點像設備寬度的80%,並居中,但我不能。 – lostAstronaut

回答

1

你需要添加LayoutParamsChildView像:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
       yourCalculatedWidth, LayoutParams.FILL_PARENT); 

params.gravity=Gravity.CENTER_HORIZONTAL; 

imgView.setLayoutParams(params); 
+0

是否有理由不能設置任何屬性?例如我setBackgroundColor和setScaleType沒有做任何事情。 – lostAstronaut

+0

您可以設置所有屬性,您嘗試過的以及發生了什麼。 – Subbu

+0

哦,對不起,我不得不使用畢加索做它... – lostAstronaut