假设我正在尝试堆叠卡片,我想把一个女王放在一个国王的顶部,但仍然可以看到国王的前20个左右的像素,所以你可以告诉它在女王之下。你怎么做到这一点?
我已经使用线性布局容器定义了网格布局。每个容器包含一个图像按钮。我能得到的最接近的是占据图像按钮下的侵入图像按钮缩小。
像这样: http://i.stack.imgur.com/broaD.png
我想堆叠图像按钮,但仍然可以点击基础图像按钮。
编辑: 通过在这里广泛搜索并了解了很多关于视图的知识,我能够弄明白。 我现在正在使用
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(0, 0, 0, -60);
view.setLayoutParams(lp);
答案 0 :(得分:1)
您可以为顶视图设置android:layout_marginBottom="-50dp"
,以便与其下方的视图重叠。在这里, 50dp 是您想要重叠视图的数量。
像这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:orientation="vertical" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#ff0000"
android:layout_marginBottom="-50dp" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#00ff00"
android:layout_marginBottom="-50dp" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#0000ff" />
</LinearLayout>
</RelativeLayout>
通过代码:
ImageButton imageButton1 = (ImageButton) findViewById(R.id.imageButton1);
LinearLayout.LayoutParams layoutParams = (LayoutParams) imageButton1
.getLayoutParams();
layoutParams.setMargins(layoutParams.leftMargin,
layoutParams.topMargin, layoutParams.rightMargin,
(layoutParams.bottomMargin - 50));
imageButton1.setLayoutParams(layoutParams);