2011-03-14 113 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:".