2
首先,這是不是一個重複的問題,要盡我所能,我已經嘗試了所有(有很多)類似的問題。這些問題的解決方案似乎是非常主觀的,特定於特定情況。左使用重力或linear_gravity在XML對準圖像的LinearLayout
我的佈局當前顯示如下。黑匣子圖像(標誌和身體,分別),顏色代表每種佈局:
我的XML:
<?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:background="#000"
android:padding="0px"
android:layout_margin="0px"
android:orientation="vertical">
<LinearLayout
android:layout_weight="16"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFF"
android:gravity="top|center"
android:orientation="horizontal">
<ImageView
android:id="@+id/logo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/logo"
android:layout_gravity="top|center" />
</LinearLayout>
<LinearLayout
android:layout_weight="4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00F"
android:gravity="bottom|left"
android:orientation="vertical">
<ImageView
android:id="@+id/body"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/body"
android:layout_gravity="bottom|left" />
</LinearLayout>
</LinearLayout>
在這裏你可以看到我有一個父線性佈局,分成兩個孩子線性佈局。這是因爲我需要將圖像在頁面的該部分中進行不同的定位。
概括地說,我需要標誌要垂直對齊到頂部,身體水平對齊到左下角。
現在,我已經嘗試了幾件事情:
- 使用
RelativeLayout
,而不是線性 - 開關
gravity
與layout_gravity
兩者的LinearLayout和ImageView的,以排除各 - 相當有信心的組合沿
match_parent
寬度和高度是我想要的,但我已經嘗試過不同的組合wrap_content
我終於明白:
gravity:top
需要父視圖使用orientation:horizontal
gravity:left
需要父視圖使用orientation:vertical
gravity
適用於視圖的孩子linear_gravity
如何應用該孩子與其父母對齊- 在父母上使用
gravity
的相同值並且使用linear_gravity
的孩子可能會有相同的效果(當使用一個而不是另一個)?
希望這是足夠的信息。我很困難的時間圍繞着這些佈局如何運作。
非常感謝您的幫助!
謝謝!使用這種方法,我確實設法使其運作。對於底部圖像,它確實需要'scaleType =「fitStart」'來保留圖像大小和對齊。再次感謝。 – MusikAnimal