java如何在Android中更改线性布局在其父框架布局中的位置
预期结果
在onClick()
回调方法中,以编程方式为线性布局设置新位置
问题
线性布局和按钮都不能放置到新位置
源代码
Main.java > public class MainActivity extends Activity {}
以下两个代码段都不起作用
(一)
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(480, 800); // unit is pixel
params.leftMargin = 420; // Shift 420 pixels from left screen border
params.rightMargin = -60; // Exceed 60 pixels from right screen border
mLinearLayout.setLayoutParams(params);
(二)
Button mButtonMenu = (Button) findViewById(R.id.button_menu);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(80, 55); // unit is pixel
params.leftMargin = 420; // unit is pixel
params.rightMargin = -60; // unit is pixel
mButtonMenu.setLayoutParams(params);
activity_main.xml
>;元素结构
<FrameLayout
<ScrollView <!-- The menu -->
</ScrollView>
<LinearLayout <!-- The content -->
<Button />
<TextView />
</LinearLayout>
</FrameLayout>
# 1 楼答案
您需要为移动
LinearLayout
设置LayoutParams
。请参阅postHere检查类过滤器激活和方法onAnimationEnd()
,了解布局的移动# 2 楼答案
您可以尝试将LinearLayout与RelativeLayout交换
然后,当您想使某个视图位于另一个视图的下方/上方时,可以使用以下命令: