无法使layoutinflater工作

时间:2014-01-25 11:28:03

标签: android android-layout

无法让布局inflater工作 - 想知道是否有人了解文本视图无效的原因..

这是main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:background="#A9BCF5"
android:orientation="vertical"
tools:context=".MainActivity"
android:weightSum="1">


<ImageView
    android:layout_width="639dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:id="@+id/imageView"
    android:background="@drawable/retreatgoddess"
    android:scaleType="centerCrop"
    android:clickable="true"
    android:cropToPadding="false"
    android:longClickable="false"
    android:layout_weight="0.80" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/affirmation"
    android:layout_weight="0.23"
    android:textAlignment="center"
    android:textColor="#1728ff"
    android:textStyle="normal"
    android:typeface="sans"/>
 </LinearLayout>

这是方法

 public void fillTextView(Context context, int layoutId, int resId, String text)
 {
    View view= LayoutInflater.from(context).inflate(layoutId, null);
    TextView textElement = (TextView) view.findViewById(resId);
    textElement.setText(text);

 }

我通过

打电话
fillTextView(context, R.layout.main, R.id.affirmation, "i love you");

我得到了背景但没有文字

1 个答案:

答案 0 :(得分:0)

在您使用布局权重时,您应该在android:layout_height0px上将imageView设置为affirmation。然后将正确计算布局。

此外,您案例中的总权重为1.03,但您将总和设置为1.0。更改总和或其中一个布局权重。