我有一个线性布局,其中包括imageview和textview,一个在另一个线性布局。

<LinearLayout android:orientation="horizontal" ... >
 <ImageView 
     android:id="@+id/thumbnail"
     android:layout_weight="0.8" 
     android:layout_width="0dip"
     android:layout_height="fill_parent">
 </ImageView>
 <TextView 
    android:id="@+id/description"
    android:layout_weight="0.2"
    android:layout_width="0dip"
    android:layout_height="wrap_content">
 </TextView>

有些规则可能会丢失,这是为了给一个想法,如何布局。 我想要另一个小的文本视图,长度和宽度都是50dip,放在imageview上面,这里的over指的是z-index大于imageview,我想把它放在imageview的中心和上面(重叠)。

我想知道我们如何将一个视图置于另一个视图之上,具有不同的z索引(最好是线性布局)?


当前回答

afaiout你不能用线性布局,你必须去一个相对布局。

其他回答

你可以从API级别21开始使用view.setZ(float)。在这里你可以找到更多信息。

RelativeLayout以同样的方式工作,相对布局中的最后一个图像获胜。

尝试一下.bringToFront():

http://developer.android.com/reference/android/view/View.html#bringToFront%28%29

如果你以编程方式添加视图,你可以使用你的布局。addView(看来,1);

其中1是下标。

有一种使用线性布局的方法。只需将前一个元素的marginTop设置为相应的负值,并确保在XML中要放在上面的元素在下面的元素之后。

<linearLayout android:orientation="horizontal" ... >
<ImageView 
 android:id="@+id/thumbnail"
 android:layout_weight="0.8" 
 android:layout_width="0dip"
 android:layout_height="fill_parent"
>
</ImageView>
<TextView 
android:id="@+id/description"
android:layout_marginTop="-20dip"
android:layout_weight="0.2"
android:layout_width="0dip"
android:layout_height="wrap_content"
>
</TextView>