2012-12-25 11 views
6

Herkese Mutlu Noeller ve Mutlu Bayramlar!Eklemek için tıklayın clicker titlebar resmi

Varsayılan başlık çubuğunun sol tarafında görünen görüntü simgesine bir dinleyici ayarlamaya çalışıyorum ancak şu ana kadar hiç şansınız yok.

@Override public void onCreate(Bundle savedInstanceState) { 
    requestWindowFeature(Window.FEATURE_LEFT_ICON); 
    super.onCreate(savedInstanceState); 
    findViewById(Window.FEATURE_LEFT_ICON).setOnClickListener(new OnClickListener() { 
     @Override public void onClick(View v) { 
      System.out.println("It works!"); 
     } 
    }); 
} 

Herhangi öneriler:

İşte benim etkinlik'ın onCreate var? Cevabını göremiyorum umuyoruz "bu mümkün değil" :)

+2

Neden bir İşlem Çubuğu kullanmıyorsun? –

+0

[Bu başlık çubuğu] hakkında konuşuyor musunuz (http://sree.cc/wp-content/uploads/2011/02/image1.jpg)? Eğer öyleyse, bir ActionBar uygulamasına bakmalısınız, başlık çubuğu artık bir UI deyimi olarak hemen hemen kabul edilmiyor. – dmon

+0

Evet, bence ActionBar'ı kullanacak ve aktivitenizin 'onOptionsItemSelected()' yöntemini uygulayacaksınız. Ben tam bir özelleştirme yapmak istemiyorum çünkü ben ActionBar app simgesinin id 'android.R.id.home' – Karakuri

cevap

4

Soldaki simge için bir kimlik yok gibi görünüyor, ancak klasik başlık çubuğu için bir kimlik mevcut: android.R.id.title İşte burada Bu kimliği kullanarak bir örnek Etkinlik. requestWindowFeature(Window.FEATURE_LEFT_ICON);, temadan bağımsız olarak klasik başlık çubuğunu zorlamalıdır.

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_LEFT_ICON); 
    setContentView(R.layout.activity_main); 
    getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,R.drawable.ic_launcher); 
    View v = findViewById (android.R.id.title); 
    v.setClickable(true); 
    v.setOnClickListener(new OnClickListener() { 
     @Override public void onClick(View v) { 
      Toast.makeText(MainActivity.this, "Works!", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 
} 

Temelde, bu ne, bu başlık çubuğunda (android.R.id.title) kimliği daha sonra buna bir onClickListener atar bulur olduğunu.

ActionBar s ile çalışacaktır, sadece klasik pencere başlık çubukları.

+0

Bunu aslında telefonda çalıştırmayı denediniz mi? Galaxy S3'le boş bir işaretçi alıyorum. –

+0

Evet, 4.0.4'de. Theme.Black/Theme.Light gibi klasik bir temanız olmalı. Yeni Holo temaları, diğer kişilerin de farklı bir uygulama kullanması gibi ActionBar'ı kullanıyor. –

İlgili konular