android - 将布局置于另一个布局之上并居中

标签 android imageview android-linearlayout

我有一个 Layout 位于我的 ScrollView 中心,我想在该 Layout 上方放置一个 ImageView不移动其位置。

我怎样才能实现这个目标?

这是我的代码:

<ScrollView
    android:id="@+id/scrollViewMain"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

    // LinearLayout with elements centered in ScrollView    
    <LinearLayout
        android:id="@+id/linearLayoutMain2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:layout_gravity="center"
        android:gravity="center"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:orientation="vertical" >

        ...Elements inside layout...

    </LinearLayout>
</ScrollView>

//ImageView I want to put just above LinearLayout without moving its position:
<ImageView 
    android:id="@+id/imageViewLogoFactor_main"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/logo_factorenergia" />

最佳答案

使用像这样的RelativeLayout:

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollViewMain"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
        <ImageView 
            android:id="@+id/imageViewLogoFactor_main"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/icon"
            android:layout_above="@+id/linearLayoutMain2"
            android:layout_centerHorizontal="true" 
            />        
        <LinearLayout
            android:id="@+id/linearLayoutMain2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:layout_centerInParent="true"
            android:gravity="center"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:orientation="vertical"
            >
        </LinearLayout>
    </RelativeLayout>
</ScrollView>

关于android - 将布局置于另一个布局之上并居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18235876/

相关文章:

Android:如何一起缩放多个 View ?

Android - 逐行动态设置textview

android - Java如何拉取AndroidManifest.xml中列出的应用版本?

android - 如何找到未翻译的字符串? (安卓)

android - 如何在 ListActivity 中获取 LoaderManager

android - 渐变不适用于 Lollipop API 21

android - 将 Canvas 大小设置为与位图图像相同的大小

android - adjustViewBounds 在 Android 布局文件中不起作用

android - 继承LinearLayout,如何确定重力是LEFT还是RIGHT

android - 我怎样才能把元素放在另一个元素旁边?