我正在尝试解决Android错误“您必须提供layout_height属性。”在DDMS中,错误消息为:
10-06 12:45:12.431: WARN/WindowManager(62): HistoryRecord{406287f8 com.learning.android.yamba/.TimelineActivity} failed creating starting window
10-06 12:45:12.431: WARN/WindowManager(62): java.lang.RuntimeException: Binary XML file line #25: You must supply a layout_height attribute.
10-06 12:45:12.431: WARN/WindowManager(62): at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:491)
10-06 12:45:12.431: WARN/WindowManager(62): at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:3599)
10-06 12:45:12.431: WARN/WindowManager(62): at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:3678)
我的TimelineActivity xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" style="@style/activity">
<TextView android:id="@+id/textView1" android:layout_width="wrap_content"
android:layout_height="wrap_content" style="@style/title"
android:text="@string/titleTimeline" android:layout_gravity="center">
</TextView>
<ListView style="@style/editbox" android:id="@+id/listStatuses"
android:cacheColorHint="#00000000">
</ListView>
</LinearLayout>
引用的样式如下:
<style name="activity">
<item name="android:orientation">vertical</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:background">@drawable/background</item>
</style>
<style name="title">
<item name="android:textSize">25dp</item>
<item name="android:gravity">center</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="editbox">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:layout_weight">1</item>
<item name="android:background">#609f</item>
<item name="android:padding">10dp</item>
<item name="android:layout_margin">15dp</item>
<item name="android:textSize">15dp</item>
</style>
虽然我已将列表框背景设置为透明,但通过列表框看不到窗口背景。不确定这两者是否相关。
答案 0 :(得分:1)
答案 1 :(得分:0)
我知道这已经有几个月了,但我想我有一个答案。
您可以在xml:
样式中创建尺寸值<dimen name="layoutheight_title">wrap_content</dimen>
<dimen name="layoutwidth_title">fill_parent</dimen>
然后根据需要引用xml布局中的维度值。
android:layout_height="@dimen/layoutheight_title"
android:layout_width="@dimen/layoutwidth_title"