2013-11-26 5 views
0

Я не могу заставить эти изображения работать. Я не хочу создавать несколько изображений в динамическом режиме, но я хочу, чтобы у них был шаблон из xml.Динамическое создание графического изображения

Мой цикл выглядит так:

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

вам нужно добавить LayoutParams для ChildView Like:

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

Смежные вопросы