2011-03-14 112 views
0

我试图使用Android布局技巧#3中描述的布局技巧#3:优化,第1部分,并且当它试图找到我正在使用的png文件时出现错误按钮OBJ的按钮栏我的XML文件下面.....LayoutInflater导致一个异常

<?xml version="1.0" encoding="UTF-8"?> 
<merge xmlns:android="http://schemas.android.com/apk/res/android"> 
    <include 
     layout = "@drawable/button_yes" 
     android:id="@+id/okLabel" /> 
    <include 
     layout="@drawable/button_no" 
     android:id="@+id/cancelLabel" /> 
</merge> 

,这是由Java脚本调用......

package com.bobocode.culliganapp; 

import android.content.Context; 
import android.util.AttributeSet; 
import android.view.LayoutInflater; 
import android.widget.FrameLayout; 


public class OkCancelBar extends FrameLayout { 
    public OkCancelBar(Context context, AttributeSet attrs) { 
     super(context, attrs); 

     LayoutInflater.from(context).inflate(R.layout.okcancelbar, this, true); 

    } 
} 

正在由实例..............

<merge 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:okCancelBar="http://schemas.android.com/apk/res/com.bobocode.culliganapp"> 

<FrameLayout android:background="@drawable/culliganapp1" 
    android:id="@+id/secondpage" 
    android:layout_width="wrap_content" android:layout_height="wrap_content"> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_marginBottom="20dip" 
     android:layout_gravity="center|center" 
     android:padding="12dip" 
     /> 
     <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="20dip" 
      android:layout_gravity="center|center" 
      android:padding="12dip" 
      android:background="@color/white" 
      android:textSize="24sp" 
      android:textColor="@color/black" 
      android:text="Does your water have an unpleasant taste or odor?" 
      android:id="@+id/question" 
      /> 
</FrameLayout> 
    <com.bobocode.culliganapp.OkCancelBar 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 

     android:paddingTop="8dip" 
     android:gravity="center_horizontal" 

     android:background="#AA000000" 
     okCancelBar:okLabel="Yes" 
     okCancelBar:cancelLabel="No" 

     /> 
</merge> 

任何帮助,一定会理解

回答

2

如果你想指定你的背景绘制你需要在你的绘制目录中PNG,并指定其与android:background="drawable/somepng"您OkCancelBar。

+0

感谢罗比有时只需再看看我需要在布局实际创建按钮为包括和它的工作我的坏 – Jan 2011-03-14 20:51:05

0

使用“yesbutton”等正常字符。而且我不知道为什么你想做的事:

Layout ="@drawable/button_yes" 
just do something like android:background="@drawable/yesbutton" 
i don't know what 
layout is, is not even android because all attributs starts with "android:".