如何以编程方式控制 Android AbsoluteLayout 中子视图的大小

Posted

技术标签:

【中文标题】如何以编程方式控制 Android AbsoluteLayout 中子视图的大小【英文标题】:How do I programmatically control the size of a child view in an Android AbsoluteLayout 【发布时间】:2010-10-08 09:59:30 【问题描述】:

http://code.google.com/android/reference/android/widget/AbsoluteLayout.html 的文档说:

onLayout(boolean changed, int l, int t, int r, int b)
//Called from layout when this view should assign a size and position to each of its children. 

所以我这样覆盖它:

@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) 
    Log.d("test", "In MainLayout.onLayout");
    int childCount = getChildCount();
    for (int childIndex = 0; childIndex < childCount; childIndex++) 
        getChildAt(childIndex).setLayoutParams(new LayoutParams(100, 100, 100, 100));
    
    super.onLayout(changed, l, t, r, b);

我在 XML 中为布局声明子元素(按钮)。

这会正确设置按钮的位置,但不能正确设置大小。大小取自 XML 中定义的内容(这是必需的属性)。

【问题讨论】:

【参考方案1】:

在你的链接上还写着

此类已弃用。

不要花时间制作将要被丢弃的东西。这个类已被弃用。

【讨论】:

【参考方案2】:

因为它是AbsoluteLayout。并且 AbsoluteLayout 之前已被弃用。

【讨论】:

以上是关于如何以编程方式控制 Android AbsoluteLayout 中子视图的大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在 android studio 中以编程方式取消订阅 OneSignal

Android中的省电模式以编程方式控制?

以编程方式获取 Android 手机型号,如何在 android 中以编程方式获取设备名称和型号?

Android 编程:如何以网格方式以编程方式创建各种视图类型

如何以编程方式创建 android 形状背景?

如何以编程方式退出android应用程序