2011-09-05 48 views
2

我有以下布局,并调用该布局。在某一点上,这个非常相同的代码将填充父布局的宽度,一个选项卡。现在它不,我不明白为什么。它阻止我发布我的最新版本。任何和所有的输入是受欢迎的。Android TextView没有填充宽度,为什么?

section_title.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/seasonTitle" 
    android:padding="3dip" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:textColor="#FFFFFFFF" 
    android:textSize="14sp" 
    android:textStyle="bold" 
    android:maxHeight="26sp" 
    android:background="#FFCC3333" 
    /> 

这里是它是如何被调用的代码段:

TextView titleTv = (TextView)mInflater.inflate(R.layout.section_title, null); 
titleTv.setText(titleText); 
mMergeAdapter.addView(titleTv); 

谢谢!

+1

您是否检查过父级布局参数?例如。方向可以设置为“水平”,如果它是一个LinearLayout。 – 87element

+1

可能有另一个视图占用全部宽度。 – Salw

+0

事实证明,你们都是对的,因为我已经从其中删除了另一个视图,所以这是一个没有全宽的家长。被移除的视图强制它是全角,现在它已经消失,父角不是全角。 –

回答

9

当你吹你的观点没有父母是这样的:

TextView titleTv = (TextView)mInflater.inflate(R.layout.section_title, null); 

一些android:layout_*参数只是被丢弃。为了避免这种情况,请用指定的父项来扩充视图,但不要将视图附加到父项。像这样:

TextView titleTv = (TextView)mInflater.inflate(R.layout.section_title, parent, false); 

这应该可以解决您的问题。

+0

它通过正确填充父宽度来解决问题。谢谢! –