2013-10-06 72 views
0

我試圖把ImageView的佈局上與下面的XML底部:在屏幕的底部把ImageView的

 <?xml version="1.0" encoding="utf-8"?> 
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 
      tools:context=".MainActivity" > 
      <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:background="#EEEEEE" 
       android:gravity="center" 
       android:orientation="horizontal" > 
       <ImageView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom" 
        android:src="@drawable/photo" /> 
      </LinearLayout> 
     </LinearLayout> 

我下面這個網址的指示http://sandipchitale.blogspot.co.uk/2010/05/linearlayout-gravity-and-layoutgravity.html

唯一的區別是我使用的ImageView代替按鈕如下:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:gravity="center" 
     android:orientation="horizontal" > 
     <Button 
      android:id="@+id/Button03" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:text="bottom" > 
     </Button> 
    </LinearLayout> 
</LinearLayout> 

這使對預期的地方按鈕:

enter image description here

不幸的是,這不是我在帖子頂部的XML中的情況。 ImageView不會像引用XML中的Button那樣放置在底部。

enter image description here

任何想法,爲什麼出現這種情況?

回答

3

嘗試使用RelativeLayout而不是LinearLayout並使用參數android:layout_alignParentBottom = "true"

編輯:嘗試給你的ImageView的LinearLayout的layout_height和layout_width作爲wrap_content。

或者您可能正在使用的圖像在其上方和下方有額外的空間。

UPDATE:

的問題是與所述圖像的大小。它比屏幕尺寸大得多。我建議你以編程方式閱讀下面的代碼在設備的屏幕尺寸:

DisplayMetrics displaymetrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
int height = displaymetrics.heightPixels; 
int width = displaymetrics.widthPixels; 

,併爲ImageView的如下編程的高度和寬度:從寬度

image_view.getLayoutParams().height = height - 50; 
image_view.getLayoutParams().width = width - 50; 
+0

將_fill_parent_更改爲_wrap_content_沒有幫助。 – MobileDream

+0

圖像沒有任何額外的空間。 – MobileDream

+1

好的,你可以粘貼你正在使用的圖像嗎?我會嘗試自己檢查代碼。 – 2013-10-06 17:48:18

0

你沒有在imageview中包含android:layout_gravity =「bottom」這一行。

+0

我忘記了它在第一次粘貼的工作。我已經更新了這個問題 - 添加了_layout-gravity =「botttom」_行。但效果還是一樣的。圖像不在顯示屏的底部。 – MobileDream

+2

您可以使用RelativeLayout來代替Linear,然後使用android:layout_alignParentBottom =「true」將圖像對齊到底部。 – rachit

0

我已經調整照片尺寸2560到寬度270,最後ImageView進入底部。

2

其他答案似乎是變通辦法,包括你自己的答案。這似乎不是佈局的問題,但是當圖像的尺寸與屏幕不相似時,ImageView中的圖像將被加載,即寬高比是非常不同的。默認情況下,它會將圖像加載到ImageView的中間。我認爲正確的答案應該是您應該更改ImageView本身的設置,在您的ImageView上精確設置android:scaleType="fitEnd"

1

試試這裏面相對佈局

<ImageView 
    android:id="@+id/imageView9" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:adjustViewBounds="?attr/isLightTheme" 
    app:srcCompat="@drawable/client_app_footer" /> 

測試&預期