我创建了一个自定义底部导航菜单作为LinearLayout。此LinearLayout和一些活动视图都具有标记:
android:layout_alignParentBottom="true"
当我给底部菜单充气时,这会导致菜单与系在底部的其他内容重叠。为了膨胀,我使用:
RelativeLayout main = (RelativeLayout) findViewById(R.id.activity_list);
View view = getLayoutInflater().inflate(R.layout.bottom_menu, main,false);
main.addView(view);
是否有一个很好的方法来调整大小'膨胀后的活动框架,以便将活动内容放在底部菜单上方而不是在其下方?
编辑:在Roman Kolomenskii的帮助下,我解决了这个问题。我在活动的底部添加了一个(包装内容)LinearLayout,并将其他项设置在该容器上方,并将我的Java代码更改为:
LinearLayout container = (LinearLayout) findViewById(R.id.bottom_menu_container);
View bottomMenu = getLayoutInflater().inflate(R.layout.bottom_menu, container, false);
container.addView(bottomMenu);
答案 0 :(得分:0)
我建议你应该实现以下布局结构:
<RelativeLayout>
<RelativeLayout> //pin this to the top of your custom menu
</RelativeLayout>
<YourCustomMenuLayout> //pin this to the bottom of the outer relative layout
</YourCustomMenuLayout>
</RelativeLayout>
答案 1 :(得分:0)
我建议您使用android:height="wrap_content".
将所有容器布局添加到活动的底部,并使用android:layout_alignParentBottom="true"
替换所有android:layout_above="@+id/bottom_container"
,然后只需将膨胀的菜单添加到此容器中。