我正在使用frameLayout并将其添加到已包含列表视图的视图组中。现在出现的问题是框架视图是底部。我想让它落到最底层。
这是我的代码:
public void addToView(ViewGroup view){
view.addOnLayoutChangeListener(layoutChangeListener);
frameParams = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
removeAllViews();
View v = makeControllerView();
view.addView(v, frameParams);
}
答案 0 :(得分:0)
你需要这样的东西
<RelativeLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView (or android.support.v7.widget.RecyclerView)
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
然后添加视图执行类似
的操作RelativeLayout container = (RelativeLayout) findViewById(R.id.container);
int vId = 1234;
View v = makeControllerView();
v.setId(vId);
RelativeLayout.LayoutParams vParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
vParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
container.addView(v, vParams);
RelativeLayout.LayoutParams lvParams =
(RelativeLayout.LayoutParams) container.getLayoutParams();
lvParams.addRule(RelativeLayout.ABOVE, vId);
ListView lv = (ListView) findViewById(R.id.listview);
lv.setLayoutParams(lvParams);
我没有对此进行测试,也不知道它是否有效,但它只是让您了解如何处理它。 这不是我将如何处理,如果我知道在这种情况下可能会添加视图,我只需将视图添加到xml的布局并处理它的可见性。这是你问过的。