Imageview太小了

时间:2012-11-12 14:42:42

标签: android layout imageview

我想问一下scrollView中imageView的布局问题。 但是,显示的图像非常小。即使是1024 * 1024 px图片也无法完全占据普通手机的整个屏幕宽度。

如何对任何图像尺寸进行修改:

1)宽度可以自动放大或缩小以固定屏幕宽度;

2)相应地按比例放大或缩小高度以保持高度:宽度比,如果大于可用空间,则可以滚动。

我在http://juliaailse.iteye.com/blog/1409317尝试了很多不同的组合,但仍然失败了。

代码如下:

<TableLayout android:id="@+id/tableLayout" 
   android:layout_width="match_parent" 
   android:layout_height="match_parent" 
   android:stretchColumns="*" 
   android:background="@color/background_color"
   android:orientation="vertical"  
   xmlns:android="http://schemas.android.com/apk/res/android">

    <TableRow
        android:id="@+id/tableRow0"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <Button
          android:id="@+id/RefreshButton"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center_vertical"
          android:layout_span="2"
          android:paddingBottom="2dp"
          android:paddingTop="2dp"
          android:text="Refresh"         
          android:textSize="10sp" />    

       <TextView
           android:id="@+id/titleTextView"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:layout_gravity="center_horizontal"
           android:layout_marginBottom="2dp"
           android:layout_span="4"
           android:gravity="center_horizontal"
           android:text="@string/quiz_title"
           android:textColor="@color/text_color"
           android:textSize="@dimen/title_size" >
       </TextView>

       <Button
          android:id="@+id/BackButton"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center_vertical"
          android:layout_span="2"
          android:paddingBottom="2dp"
          android:paddingTop="2dp"
          android:text="Back"
          android:textSize="10sp" />    
   </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

       <TextView android:id="@+id/questionNumberTextView"
          android:layout_width="match_parent" 
          android:layout_height="wrap_content"
          android:layout_marginBottom="2dp" 
          android:layout_marginTop="2dp"
          android:layout_span="8"
          android:textColor="@color/text_color" 
          android:textSize="@dimen/text_size" 
          android:layout_gravity="center" 
          android:gravity="center">        
       </TextView>      
   </TableRow>

   <TableRow
       android:id="@+id/tableRow3"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:layout_weight="1"
       android:background="@android:color/transparent" >

      <ScrollView android:id="@+id/SlotScrollView" 
         android:layout_width="match_parent"  
         android:layout_span="8">

           <ImageView
               android:id="@+id/flagImageView"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_gravity="center"
               android:gravity="center_horizontal" >      
           </ImageView>
     </ScrollView>   
   </TableRow>   

    <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingTop="5dp" >

       <TextView
           android:id="@+id/guessCountryTextView"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_gravity="center_horizontal"
           android:layout_marginBottom="2dp"
           android:layout_marginTop="2dp"
           android:layout_span="8"
           android:gravity="center_horizontal"
           android:text="@string/choose_answer"
           android:textColor="@color/text_color"
           android:textSize="@dimen/text_size" >    
        </TextView>                       
   </TableRow>    

   <TableRow
       android:id="@+id/tableRow4"
       android:layout_width="match_parent"
       android:layout_height="match_parent"     
       android:background="@android:color/transparent" >  

       <TableLayout android:id="@+id/buttonTableLayout" 
          android:layout_width="match_parent"
          android:layout_height="wrap_content" 
          android:layout_span="8"
          android:layout_weight="1" 
          android:stretchColumns="0,1,2,3">
          <TableRow android:id="@+id/tableRow0" 
             android:layout_width="match_parent" 
             android:layout_height="wrap_content" 
             android:orientation="horizontal"></TableRow>
          <TableRow android:id="@+id/tableRow1"
             android:layout_width="match_parent" 
             android:layout_height="wrap_content"
             android:orientation="horizontal"></TableRow>
          <TableRow android:id="@+id/tableRow2"
             android:layout_width="match_parent" 
             android:layout_height="wrap_content"
             android:orientation="horizontal"></TableRow>
       </TableLayout>
    </TableRow>

   <TableRow
       android:id="@+id/tableRow5"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:background="@android:color/transparent"
       android:gravity="center_horizontal" >

       <TextView android:id="@+id/answerTextView"
          android:layout_width="match_parent" 
          android:layout_height="wrap_content"
          android:layout_span="8"
          android:textSize="@dimen/answer_size" 
          android:layout_gravity="center" 
          android:textStyle="bold" 
          android:gravity="center">        
       </TextView>
    </TableRow>         

</TableLayout>   

1 个答案:

答案 0 :(得分:1)

尝试为ImageView添加以下两行:

android:scaleType="fitCenter"
android:adjustViewBounds="true"

你应该得到这样的东西:

<ImageView
   android:id="@+id/flagImageView"
   android:scaleType="fitCenter"
   android:adjustViewBounds="true"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:gravity="center_horizontal" >      
</ImageView>