是否可以在 LinearLayout 中显示第一个 View 与第二个 View 重叠?
我想像这样布局我的 View :
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentRight="true" >
<TextView
android:id="@+id/firstTextView"
android:layout_width="wrap_content"
android:layout_height="wrapContent" />
<TextView
android:id="@+id/secondTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
但我需要将布局中的第一个 View firstTextView 放置在(重叠的)secondTextView 之上。这可能吗?我正在使用 LinearLayout,因为我也在使用边距来获得重叠效果。
最佳答案
对我有用并且可能对你有用的是:
- 用 RelativeLayout 而不是 LinearLayout 包装您的 2 个 TextView,并设置 android:clipChildren="false"。这将防止重叠部分被剪掉。
- 将第二个 TextView 布局在第一个 TextView 下方
- 在代码中,对第一个 TextView 调用 bringToFront()。默认情况下,第一个 textview 首先绘制,并将在第二个 textview 下方。调用 bringToFront() 将更改该顺序。
所以布局可以是这样的:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:clipChildren="false">
<TextView
android:id="@+id/firstTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
android:text="First View" />
<TextView
android:id="@+id/secondTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/firstTextView"
android:background="#00000000"
android:layout_marginTop="-13dp"
android:text="Second View"/>
</RelativeLayout>
和:
TextView firstTextView = (TextView)findViewById(R.id.firstTextView);
firstTextView.bringToFront();
关于android - LinearLayout 中的第一个 View 上方/重叠第二个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16973327/