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