2015-10-06 60 views
0

我正在開發一個應用程序,裏面有一些按鈕,在按下按鈕後,將圖像與另一個按鈕進行更改。現在,最好使用一個xml選擇器,並設置按鈕的背景=「選擇器」......就像這樣(即使有很多按鈕,也會有很多可繪製的以及很多選擇器):android哪個更好使用按鈕選擇器xml或imageview的setimage?

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:state_enabled="false" 
     android:drawable="@drawable/start"/> 
    <item 
     android:state_pressed="true" 
     android:state_enabled="true" 
     android:drawable="@drawable/start_press"/> 
    <item 
     android:state_focused="true" 
     android:state_enabled="true" 
     android:drawable="@drawable/start"/> 
    <item 
     android:state_enabled="true" 
     android:drawable="@drawable/start"/> 
</selector> 

或與ACTION.DOWN一個setimage這樣的監聽器:

ser6.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if (event.getAction() == MotionEvent.ACTION_DOWN) { 
        ser6.setImageResource(R.drawable.ser_press); 
       } 
       if (event.getAction() == MotionEvent.ACTION_UP) { 
        goNext(); 
       } 
       return true; 
      } 
     }); 

回答

2

我個人認爲最好是始終使用XML,如果你能(除非你需要基於一些輸入動態地做到這一點),當它涉及到佈局,而不是以編程方式執行,因爲它可以保持代碼清潔並使佈局與應用程序邏輯代碼分離。基於XML的佈局

優勢一般:

  • 您可以使用佈局編輯器Android Studio中/月食
  • 您可以重複使用的應用程序
  • 其他地方的佈局允許你之間的分離佈局和應用程序邏輯和功能。
0

爲什麼XML是一個額外的參考,當涉及到Android UI資源「有點兒」約定:

http://developer.android.com/guide/topics/ui/declaring-layout.html

在XML中聲明你的用戶界面的優點是,它使您能夠更好地將應用程序的表示與控制其行爲的代碼分開。你的UI描述是你的應用程序代碼的外部,這意味着你可以修改或修改它,而無需修改你的源代碼並重新編譯。例如,您可以爲不同的屏幕方向,不同的設備屏幕尺寸和不同的語言創建XML佈局。此外,使用XML聲明佈局可以更容易地查看UI的結構,因此更容易調試問題。因此,本文重點介紹如何使用XML聲明佈局。如果您有興趣在運行時實例化View對象,請參閱ViewGroup和View類的引用。

儘管您可以自由選擇,但請儘可能地使用XML。

相關問題