1

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>   
4

1 に答える 1

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>
于 2012-11-12T14:53:40.843 に答える