0

下面你会看到我的 xml:我有一个 <linearlayout> <relativelayout/></linearlayout> 层次结构

我唯一想要的是所有图像+文本都垂直放置在彼此下方+水平集中在屏幕上..我尝试了太多xml来达到这个结果,但没有任何效果..

第一个问题是 relativelayout 中的 textswitcher 将自身放置在 relativelayout 中的 imageswitcher 旁边。

第二个问题是 < /relativelayout> 之后的 imageswitcher + textswitcher 不会出现在屏幕上... :(

(我需要在线性布局中使用这个相对布局,因为我为相对布局设置了动画并且无法删除它)

感谢您的帮助!!

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layoutid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
android:background="@drawable/background_donker" >

  <ImageView
    android:id="@+id/wolkanim"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:src="@anim/wolkanimation" />



    <RelativeLayout
    android:id="@+id/layoutid2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     android:gravity="center_horizontal"
    >

    <ImageSwitcher
        android:id="@+id/imageswitchertrein"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inAnimation="@anim/fade_in"
        android:outAnimation="@anim/fade_out"
        />

        <TextSwitcher
        android:id="@+id/textswitcherafstandtekst"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
      android:layout_centerInParent="true"
        android:inAnimation="@anim/fadenieuw"
        android:outAnimation="@anim/fadenieuwout"
        android:textSize="40sp" />

     </RelativeLayout>


   <ImageSwitcher
     android:id="@+id/imageswitcherspoor"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:inAnimation="@anim/fade_in"
     android:outAnimation="@anim/fade_out"
     android:src="@drawable/spoor" >
    </ImageSwitcher>

     <TextSwitcher
    android:id="@+id/textswitcherstationnaam"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
    android:inAnimation="@anim/fadenieuw"
    android:outAnimation="@anim/fadenieuwout" 
       />


    </LinearLayout>
4

1 回答 1

0

您的第一个问题是RelativeLayout正在填充LinearLayout,因此您的 RL 中的所有内容都在您的 LL 内容之上。此外,与LinearLayout将下一个孩子向下或向右推不同的是,RelativeLayout孩子需要定义定位,例如android:layout_below="@+id/..."或边距设置。

当我填充布局中每个元素的内容时,以下代码将起作用。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layoutid"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background_donker"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/wolkanim"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:src="@anim/wolkanimation" />

    <RelativeLayout
        android:id="@+id/layoutid2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal" >


        <ImageSwitcher
            android:id="@+id/imageswitchertrein"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inAnimation="@anim/fade_in"
            android:outAnimation="@anim/fade_out" />

        <TextSwitcher
            android:id="@+id/textswitcherafstandtekst"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imageswitchertrein"
            android:layout_centerInParent="true"
            android:inAnimation="@anim/fadenieuw"
            android:outAnimation="@anim/fadenieuwout"
            android:textSize="40sp" />
    </RelativeLayout>

    <ImageSwitcher
        android:id="@+id/imageswitcherspoor"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inAnimation="@anim/fade_in"
        android:outAnimation="@anim/fade_out"
        android:src="@drawable/spoor" >
    </ImageSwitcher>

    <TextSwitcher
        android:id="@+id/textswitcherstationnaam"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inAnimation="@anim/fadenieuw"
        android:outAnimation="@anim/fadenieuwout" />

</LinearLayout>
于 2013-04-09T13:50:55.640 回答