【问题标题】:Imageview too small图像视图太小
【发布时间】:2012-11-12 22:53:40
【问题描述】:

我想问一下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>   

【问题讨论】:

标签: android layout imageview


【解决方案1】:

尝试为 ImageView 添加以下 2 行:

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>

【讨论】:

  • 它看起来还是一样...非常非常小...只是想让它自动缩放以满足屏幕宽度..
猜你喜欢
  • 1970-01-01
  • 2016-08-08
  • 1970-01-01
  • 2014-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-25
相关资源
最近更新 更多