Android布局参数fill_parent没有任何影响

时间:2012-09-25 10:24:20

标签: android android-layout layoutparams

我遇到一个问题,当我在一个宽度为&的活动上设置布局xml文件时height = fill_parent并将背景颜色设置为灰色,当我开始活动时,我没有获得任何背景颜色。 我尝试创建一个扩展LinearLayout的自定义布局,当我在这个自定义布局中调用onMeasure时,我得到了

  

onMeasure:-2147483048 | -2147482761

其中水平空间要求:-2147483048 和垂直空间要求:-2147482761

所以,当我使用

setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.FILL_PARENT));

对于我的自定义布局,我什么都没得到,但是当我使用例如

setLayoutParams(new LayoutParams(50,
            50));

然后我得到一个矩形

我的问题是,为什么?

编辑:在真实手机和模拟器上测试

EDIT2: XML:

android:layout_width="fill_parent"
android:layout_height="fill_parent"

EDIT3: 的java:

onCreate:
        setContentView(new CustomAlarmLayout(this));

onCreate:
setContentView(R.layout.some_layout);

EDIT4: 该数字等于MeasureSpec.AT_MOST

尝试将其设置为MeasureSpec.UNSPECIFIED不会更改任何内容,当调用onMeasure时视图仍未调整大小

EDIT5: 我的错。问题是在TabWidget公共区域设置了wrap_content,这就是为什么我的fill_parent不起作用

2 个答案:

答案 0 :(得分:0)

你确定吗?您必须在布局xml或活动中做错事。

尝试使用以下布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" 
    android:background="#FF0000">
</LinearLayout>

你应该得到一个红色背景

答案 1 :(得分:0)

我知道您希望在runco​​de中插入此布局(及其设置)...为什么您不尝试在此活动的.xml文件中包含默认的相对或线性布局设置params widht和height as一个MATCH_PARENT或FILL_PARENT。在此之后,通过.xml。

布局中的runco​​de插入linearlayout

类似的东西:

myGenericLayout = (LinearLayout) findViewById(R.id.layout);
myGenericLayout.addView ( "your layout with the setting that you want here" );