【问题标题】:How to set gravity position to bottom right of parent?如何将重力位置设置为父级的右下角?
【发布时间】:2013-10-24 13:41:33
【问题描述】:

我在运行时在 FrameLayout 中添加按钮,我想将其设置在父级的底部|右侧。

LayoutParams lp = new LayoutParams(android.widget.FrameLayout.LayoutParams.WRAP_CONTENT, 
                android.widget.FrameLayout.LayoutParams.WRAP_CONTENT);

        lp.gravity = **Gravity.RIGHT**; 
        mSelf.setLayoutParams(lp);

我该怎么做,有什么建议吗?

【问题讨论】:

  • 使用RelativeLayout来实现这个..
  • 您要添加的框架布局的父布局是什么?
  • FrameLayout 是我添加 ImageButton 的父布局...有什么建议吗?

标签: android layout-gravity


【解决方案1】:

在框架布局内添加相对布局,并在该相对布局中添加组件
使用示例编辑

FrameLayout fr = ..... // get your layout here.
RelativeLayout mRel =  new RelativeLayout(your_activity_context);
RelativeLayout.LayoutParams mParams = mRel.getLayoutParams();
Button mBtn = new Button(this); // Component you want to add at BOTTOM RIGHT
mParams.addRule(RelativeLayout.LayoutParams.ALIGN_PARENT_BOTTOM | RelativeLayout.LayoutParams.ALIGN_PARENT_RIGHT);
mBtn.setLayoutParams(mParams);
mRel.add(mBtn);
fr.add(mRel);

注意:- 如果您在活动中添加此代码,代码中会有一些细微的变化。因为我只在这里写了这个。未测试。但这应该可行。

【讨论】:

    【解决方案2】:

    试试这个代码。它可能对你有帮助。

    RelativeLayout relativeLayout = findViewById(R.id.your_relative_layout);
    mVideo = new VideoView(this); 
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); // or wrap_content
    layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    relativeLayout.addView(mVideo , layoutParams);
    

    【讨论】:

    • 亲爱的,在我的例子中,父视图是 FrameLayout,我已经有一些其他的子组件。那么是否可以在 Parent(FramLayout) 和 Child(ImageButton) 之间直接执行相同的操作。
    猜你喜欢
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 2015-07-11
    • 2021-01-18
    • 2020-11-14
    • 1970-01-01
    • 2012-04-02
    相关资源
    最近更新 更多