2013-03-16 19 views
10

Birisi aşağıdaki gibi özel düğmeler oluşturmama yardımcı olabilir mi? Mümkün mü? Çok arandı ve sadece tekrar rectangular/square shapes olmak için bazı şeyler bulmak mümkün oldu. Ama iki butonun triangular olmasını ve diğerinin üzerinde düzenlenmesini ve sadece kendi özel alanları üzerinde tıklanabilir olmasını istiyorum. Kod parçacıkları takdir edilmektedir.İki özel düğme oluşturma

enter image description here

+0

Yukarıdaki resme benzeyen bir görüntü oluşturarak mantıklı olarak mümkündür. Çünkü komut düğmelerini yeniden şekillendiremezsiniz. – Raynold

+1

@Raynold Ancak bir resim oluşturursak, tıklama olayları kendi şekillerinde nasıl ayrılabilir? – Apparatus

+0

Bu sorunu çözmek için nasılsınız? Ben [buradan] Bu sorum var [1] [1]: http://stackoverflow.com/questions/19797430/android-complex-shape-button –

cevap

2

Sen yapabileceği bu

public class BottomLeftTriangleButton extends View { 

    // Copy superclass contructors 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     if (event.getX()/getWidth() < event.getY()/getHeight()) { 
      return super.onTouchEvent(event); 
     } 
     return false; 
    } 

} 

Bu yolu gibi, View uzanan ve onTouchEvent yöntemi sınıflara göre, karşılık gelen sadece sol alt alan üzerinde tıklama yolunu kesmek Özel görünüm, sizin " düğme 2 "alanı. "<" işaretini ">" olarak değiştirerek diğer alanı tıklayabilirsiniz.

Ardından, 2 görünümünüzü aynı FrameLayout ürününe koyun ve işiniz bitti.

+0

Eğer üçgen düğmeleri nasıl oluşturulacağını lütfen ortaya Can ve yukarıdaki görüntüde olduğu gibi birbirinize göre düzenleyin? – Apparatus

+0

2 özel düğmenizi aynı "FrameLayout" içine koyun ve her ikisi için de düğme resimlerinize 'android: background' yazın. Üçgen düğmeler için varsayılan bir kaynak yoktur, görüntüleri kendiniz yapmanız gerekir. Basılı ve normal durumlar için farklı görüntüler kullanmak için bir [Durum Listesi] (https://developer.android.com/guide/topics/resources/drawable-resource.html#StateList) kullanabilirsiniz. – minipif

+0

Zaman ayırdığınız için teşekkür ederiz. Sorum şu, bu özel düğmeler nasıl hazırlanır. – Apparatus