2011-10-04 90 views
0

我有一个PizzaOverview。图片太大而无法看到所有视图

enter image description here

XML:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    > 
    <TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="" android:id="@+id/pizza_tv" android:gravity="center_horizontal" android:textSize="15pt"></TextView> 
    <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/pizza_iv" android:src="@drawable/icon" android:layout_gravity="center_horizontal"></ImageView> 
    <RatingBar android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/pizza_rb" android:layout_gravity="center_horizontal"></RatingBar> 
    <TextView android:layout_height="wrap_content" android:text="" android:id="@+id/pizza_date" android:gravity="center|center_horizontal" android:layout_width="fill_parent"></TextView> 

<RelativeLayout android:id="@+id/relativeLayout2" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
     <Button android:text="close" android:layout_height="wrap_content" android:id="@+id/pizza_bt" android:layout_alignParentBottom="true" android:layout_width="fill_parent"></Button> 
    </RelativeLayout> 
    </LinearLayout> 

如果图片太大的日期是不可见的。

enter image description here

回答

0

添加滚动视图布局或修复的imageview的

大小滚动视图添加到您的布局

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
> 
<ScrollView 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<LinearLayout 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
> 
<TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="" android:id="@+id/pizza_tv" android:gravity="center_horizontal" android:textSize="15pt"></TextView> 
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/pizza_iv" android:src="@drawable/icon" android:layout_gravity="center_horizontal"></ImageView> 
<RatingBar android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/pizza_rb" android:layout_gravity="center_horizontal"></RatingBar> 
<TextView android:layout_height="wrap_content" android:text="" android:id="@+id/pizza_date" android:gravity="center|center_horizontal" android:layout_width="fill_parent"></TextView> 

<RelativeLayout android:id="@+id/relativeLayout2" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
    <Button android:text="close" android:layout_height="wrap_content" android:id="@+id/pizza_bt" android:layout_alignParentBottom="true" android:layout_width="fill_parent"></Button> 
</RelativeLayout> 
</LinearLayout> 
</ScrollView> 
</LinearLayout> 
0

确保您提供给活动图像是正确的分辨率和尺寸。 另外请确保您有单独的屏幕尺寸类别的布局。

阅读Android文档的this节上的布局和管理不同屏幕尺寸的更多细节。它告诉你你需要的基础知识。

0

您可以将您的图像与评级酒吧,并在RelativeLayout它下面的文本。将marginBottom与您的RelativeLayout相加,等于您的Button的高度。然后放置您的文本,给它一个ID并添加android:layout_alignParentBottom="true"。将图像的height设置为fill_parent,并添加属性android:layout:below="id_of_text"

0

您可以为对方的回答状态使屏幕滚动。但是如果你的内容是动态的(并且取决于设备有争议说你的内容将总是动态的),你应该确保ImageView的界限设置正确。

在源代码中你有:

<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/pizza_iv" android:src="@drawable/icon" android:layout_gravity="center_horizontal"></ImageView> 

而应该有:

<ImageView android:layout_height="0dp" 
    android:weight="1" 
    android:layout_width="match_parent" 
    android:id="@+id/pizza_iv" 
    android:src="@drawable/icon" 
    android:layout_gravity="center_horizontal" 
    android:scaleType="centerInside"/> 

weight额外的属性将让你的看法填写沿边界设置方向的任何可用空间LinearLayout中。这取决于沿着该方向的其他视图的权重(因为其他视图在这种情况下没有权重值,它将填充所有空间直到固定视图的边缘)。

scaleType="centerInside"的额外属性将使您的图像位于您建议的边界的中心(即垂直的屏幕宽度和所有可用空间),而不会增大到足以重叠边界容器。

使用ImageView时,请记住ImageView是图像的边界容器。它可以尽可能大或者尽可能小,但仅仅是告诉UI在何处放置图像的机制。 scaleType属性用于说明如何将图像放置在此边界计数器中。在ImageView上使用"wrap_content"是无效的,并且可能会在设计的后期导致麻烦(特别是在考虑不同设备时)。