gpt4 book ai didi

android - 以编程方式将 subview 添加到 Android 中的自定义 View

转载 作者:行者123 更新时间:2023-11-29 01:59:16 25 4
gpt4 key购买 nike

我想做的只是在右上角添加一个 imageButton View 作为自定义 View 的 subview 。我的自定义 View 扩展了 Webview。我在将 imageButton 添加到自定义 View 时没有遇到任何问题,只是无法将其移至右上角。我需要以编程方式执行此操作,而不是在 xml 中。我永远不会想到这么简单的事情需要我在这里发帖,但我真的想不通。

这是我目前用来将 imageButton 添加到自定义 View 的方法,但它位于左上角:

    public class customView extends WebView {

private void imageButtonInit() {
ImageButton closeImageButton = new ImageButton(getContext());
Drawable image = getResources().getDrawable(com.package.image);
closeImageButton.setBackgroundDrawable(image);
closeImageButton.setLayoutParams(new RelativeLayout.LayoutParams(25, 25));
closeImageButton.bringToFront();
customView.this.addView(closeImageButton);
}
}

为了将它移动到右上角,我尝试了什么:

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(25, 25);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, -1);
closeImageButton.setLayoutParams(lp);
customView.this.addView(closeImageButton);

还有:

    FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(25, 25, Gravity.RIGHT|Gravity.TOP);
closeImageButton.setLayoutParams(lp);
customView.this.addView(closeImageButton);

所有这些都会导致 imageButton 被放置在左上角。这是我在这个网站上的第一篇文章,所以我希望问题的格式正确。请不要使用 xml 解决方案。谢谢大家。

最佳答案

我认为您在其他两种方法中所做的实际上是将您的 CustomView 设置为具有这些布局参数。您应该尝试使用此方法设置您 child 的布局参数;

    customView.this.addView(child, params);

其中 child 是您的图像按钮,params 是布局参数。

关于android - 以编程方式将 subview 添加到 Android 中的自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13504064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com