2016-02-07 71 views
0

我正嘗試用兩個視圖填充活動,左側爲ImageView,右側爲TextView。圖像的大小應該填滿整個垂直空間。文本應該佔用剩下的空間。看了幾個教程後,似乎我需要的是一個水平方向的LinearLayout,並且TextViewlayout_weight屬性是一個正整數。Android佈局;圖片佔用整個屏幕

這是我到目前爲止有:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> 

    <ImageView 
     android:id="@+id/imageView" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:src="@drawable/charsheet" /> 

    <TextView 
     android:id="@+id/ipsum" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="@string/ipsum" /> 

</LinearLayout> 

的問題,但是,圖像,創建空白到填滿整個屏幕的左側和右側。 TextView沒有剩餘空間。

enter image description here

我也嘗試使用RelativeLayoutImageViewtoStartOf屬性設置爲TextView的ID,但隨後的文字填滿整個屏幕來代替。

當我開始進行這項活動時,我不會認爲這會是一件很複雜的事情,但我們在這裏。任何幫助,將不勝感激。

+1

你想要的形象被裁剪,以適應或調整大小以適應? –

+0

調整大小,我想。我想看到整個圖像,只是減去正在添加的空白空間 –

回答

3

我認爲你缺少的東西是對的ImageView adjustViewBounds。像這樣嘗試:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    > 

    <ImageView 
     android:id="@+id/imageView" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:scaleType="fitStart" 
     android:adjustViewBounds="true" 
     android:src="@drawable/doug" 
     /> 

    <TextView 
     android:id="@+id/ipsum" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:text="ipsum" 
     /> 

</LinearLayout> 

如果沒有adjustImageBounds,ImageView會佔用比顯示圖像所需的更多空間。

上述佈局創建Android Studio中的預覽,看起來像這樣對我說:

enter image description here

+0

它不適用於Android studio 3.0。我只是試了一下。背景是黑色的,textview更小。 –

0

android:layout_weight="1"移動到ImageView,並在TextView中使權重爲0.注意:您需要將ImageView的layout_width設置爲0px。

<ImageView 
    android:id="@+id/imageView" 
    android:layout_weight="1" 
    android:layout_width="0px" 
    android:layout_height="match_parent" 
    android:src="@drawable/ic_launcher" /> 

<TextView 
    android:id="@+id/ipsum" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:text="ipsum" /> 
+0

這會導致文本完全填滿屏幕,導致圖像隱藏 –

+0

我忘了layout_width:0px,現在嘗試 – Gavriel

+0

現在圖像不會縮放,整個屏幕充滿了圖像的一部分。 –

0

你可以用ImageView的scaleType玩,如:

android:scaleType="fitCenter" 
+0

這似乎沒有任何效果 –