2017-09-12 39 views
0

我有以下XML代碼:ImageView的沒有得到寬度

<TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 


     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center"> 

      <ImageView 
       android:id="@+id/imgOffer" 
       android:layout_width="match_parent" 
       android:layout_height="200dp" 
       android:scaleType="fitXY" 
       app:srcCompat="@drawable/applogo1" /> 


     </TableRow> 

</TableLayout> 

根據這個代碼,imgOffer應該得到整個寬度的它的父tablerow

但是圖像的寬度沒有變化(見圖片以下)

它正常工作時,我硬編碼的寬度(比如150dp)

我在這裏做錯了什麼?

table row

image view

+0

@nitinkumarp的200dp是身高,我說的是寬度 – mrid

回答

1

使用機器人:SRC =「@繪製/ applogo1 「而不是app:srcCompat =」@ drawable/applogo1「

<ImageView 
    android:id="@+id/imgOffer" 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:scaleType="fitXY" 
    android:src="@drawable/applogo1" /> 

編輯: 使用重量ImageView的,而不是給家長的比賽,並嘗試一次

<ImageView 
     android:id="@+id/imgOffer" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="200dp" 
     android:scaleType="fitXY" 
     app:srcCompat="@drawable/ic_launcher" /> 
1

看起來像一個bug,但似乎如果你使用重1和寬度0dp工作。

<TableLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 


    <TableRow 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center"> 

     <ImageView 
      android:id="@+id/imgOffer" 
      android:layout_weight="1" <<<<< 
      android:layout_width="0dp" <<<<< 
      android:layout_height="200dp" 
      android:scaleType="fitXY" 
      app:srcCompat="@drawable/applogo1" /> 


    </TableRow> 

+0

什麼重量呢? – mrid

+0

它重視意見。所以,如果你有三個視圖,例如,你可以給他們所有相同的重量,他們將平均分配。您也可以爲您的父對象指定一個「weight_sum」來表示如果您希望它們全部填充視圖,它們應該合計多少。 –

+0

因此,在這裏,你給它1的權重,它實質上是說「match_parent」。 –