2012-02-12 33 views
0

我想補充一點,是不是在ImageButton的在XML資源文件中找到一些額外的數據,並能夠通過代碼附加額外數據的ImageButton android系統

就這樣

<ImageButton 
      android:id="@+id/imageButton1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@null" 
      app:angle="0" 
      app:titletext="imageButton1"/> 
讀它

我在哪裏可以定義這些數據是accessable和XML不會導致錯誤提前

回答

1

謝謝,我不認爲這是可能的Android SDK中。因爲ImageButton元素需要預定義。

你需要什麼樣的數據來定義,你爲什麼要在XML中定義? strings.xml不夠?

+0

每個按鈕會改變的TextView的文本,我有許多按鈕,所以我想定義一個額外的禮讓,並將其附加到按鈕,以便能夠通過代碼 – 2012-02-12 22:00:24

+0

erm每個按鈕已經有這個... androi d:id =「@ + id/imageButton1」,所以id是:「imageButton1」?你可以在代碼中訪問它ImageButton myButton =(ImageButton)findViewById(R.id.imageButton1); – 2012-02-12 22:20:37

0

而不是尋找在ImageButton中隱藏數據,你可以繼承它的子類並有你自己的數據字段,如果你仍然想使用ImageButton有一個包裝類,它有一個ImageButton作爲字段變量,如下所示: -

class ButtonWrapper{ 
    ImageButton button; 
    int app_angle=0; 
    String app_titletext="imageButton1" 
} 
+0

這很好,但是在聲明我自己的按鈕包裝器之後,是否可以使用這種新類型在main.xml文件中聲明UI元素?如果是的話怎麼做? – 2012-02-12 22:13:33

+0

類按鈕包裝只是一個包裝,你可以使用實際的ImageButton,而不是使用ImageButton的對象,你可以使用buttonWrapper(包裝對象).button來訪問按鈕。如果你想設置字段app_angle,你可以使用app_angle = 10或者setter,如果你喜歡封裝。只有一種方法可以使用XML,創建自己的自定義ImageButton,這是不值得的額外的代碼,因爲你只是想有一些額外的領域。 – noob 2012-02-12 22:48:43

1

有一個在Android上定義的方式通過定義XML自己的名稱空間,然後通過讀取創建對象時傳入的屬性讀取代碼值做到這一點。

我不會詳細討論這個問題,因爲這個問題之前已經被問過了,並且有很多好的文章。

你可能想仔細閱讀以下條款: