我遇到一个问题,当我在一个宽度为&的活动上设置布局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不起作用
答案 0 :(得分:0)
尝试使用以下布局:
<?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)
我知道您希望在runcode中插入此布局(及其设置)...为什么您不尝试在此活动的.xml文件中包含默认的相对或线性布局设置params widht和height as一个MATCH_PARENT或FILL_PARENT。在此之后,通过.xml。
布局中的runcode插入linearlayout类似的东西:
myGenericLayout = (LinearLayout) findViewById(R.id.layout);
myGenericLayout.addView ( "your layout with the setting that you want here" );