2017-03-09 221 views
1

我在LinearLayout女孩內動態添加ImageViews的內部是Horizo​​ntalScrollView。根據父母父母的父母尺寸設置寬度和高度Android Studio

現在我想根據此Horizo​​ntalScrollView的父LinearLayout設置這些ImageViews的寬度和高度。

這是我的XML(information_imagescrollview_item.xml):

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/parentlayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingTop="5dp" 
    android:paddingBottom="5dp"> 
    <HorizontalScrollView 
     android:id="@+id/horizontal_scroll" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 
     <LinearLayout 
      android:id="@+id/linear" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="horizontal" > 
     </LinearLayout> 
    </HorizontalScrollView> 
</LinearLayout> 

,這是我的代碼:

View contentView = inflater.inflate(R.layout.information_imagescrollview_item, container, false); 
LinearLayout scrollViewLayout = (LinearLayout) contentView.findViewById(R.id.linear); 
for(Object intObj : page.content) { 
    ImageView imageView = new ImageView(this.getContext()); 
    Drawable myDrawable = getResources().getDrawable((int) intObj); 
    imageView.setImageDrawable(myDrawable); 
    scrollViewLayout.addView(imageView); 
} 
page.addView(contentView); 

我如何可以設置每個ImageView的具有相同的寬度和高度爲parentlayout在xml中?

回答

1

可以通過代碼更改動態視圖的尺寸。所以,我敢打賭,「它添加到您的LinearLayout這樣之前在for循環的佈局參數:

for(Object intObj : page.content) { 
    ImageView imageView = new ImageView(this.getContext()); 
    Drawable myDrawable = getResources().getDrawable((int) intObj); 
    imageView.setImageDrawable(myDrawable); 
    //Changing height... 
    imageView.getLayoutParams().height = ViewGroup.LayoutParams.MATCH_PARENT; 
    //...and width 
    imageView.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT; 
    scrollViewLayout.addView(imageView); 
} 

這將設置ImageView」你應該改變ImageView帶寬度和高度與含(父)LinearLayout的寬度和高度。

+0

如果我添加imageView.getLayoutParams()。width = ViewGroup.LayoutParams.MATCH_PARENT;圖像仍然幾乎是屏幕寬度的兩倍。 – Walter

+0

你想像一個畫廊應用程序一個接一個地滾動圖像嗎? – Geryson

+0

是的。但是在幾個文字視圖之間, – Walter