2016-04-05 75 views
7

Uygulamam şu anda aşağıdakine benzer. RelativeLayout numaralı telefondan üç Button s, ortadaki düğme diğer iki düğmenin üst üste gelmesi için negatif kenar boşluğu ve sağa sahiptir.Düğmeyi ön plana getirme seçeneğini tıklatın.

Sorun: Sol veya sağ tuşa bastığımda, bir saniye için ön plana gelir ve çok çirkin görünen orta düğmeye bastığında. enter image description here

<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal"> 

     <Button 
      android:id="@+id/voices" 
      android:layout_width="160dp" 
      android:layout_height="wrap_content" 

      android:layout_gravity="center_vertical" 

      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:onClick="clickVoices" 
      android:background="#333" 
      android:textColor="#fff" 
      android:text="@string/main_voices" /> 

     <Button 
      android:id="@+id/chat" 
      android:layout_width="160dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentTop="true" 

      android:onClick="clickChat" 
      android:background="#333" 
      android:textColor="#fff" 
      android:text="@string/main_chat" /> 

     <Button 
      android:id="@+id/record" 
      android:layout_width="60dp" 
      android:layout_height="100dp" 

      android:clickable="true" 
      android:onClick="clickRecord" 
      android:scaleType="centerInside" 
      android:src="@drawable/record" 
      android:text="Record" 
      android:layout_toRightOf="@+id/voices" 
      android:layout_toLeftOf="@+id/chat" 
      android:layout_marginLeft="-20dp" 
      android:layout_marginRight="-20dp" 
      android:layout_marginTop="-30dp" 
      android:background="@drawable/round_button" 

      android:paddingTop="30dp" 
      android:layout_marginBottom="10dp" /> 
    </RelativeLayout> 
+0

Sadece dün yanıtladı. Mümkün Dup? https://stackoverflow.com/questions/36392715/overlapping-buttons-prevent-button-from-raising-on-touch/36414403#36414403. Ne olursa olsun, gönderdiğim cevap işe yarıyor. – CaptJak

+0

Hmmmm. Sorunuz, yukarıda belirttiğimden daha iyi ve [bu yazı] başına (https://meta.stackexchange.com/questions/147643/should-i-vote-to-close-a-duplicate-question-even- Ancak-onun-çok-yeni-ve-ha/147651 # 147651), diğeri dupe olarak işaretlenmelidir. Ama cevabımla ne yapacağımı bilmiyorum. [Rehberlik için Meta'ya gittim] (https://meta.stackoverflow.com/questions/320470/should-i-move-my-answer-to-a-new-duplicate). – CaptJak

+0

"RecordButton" ifadesini RelativeLayout dışına taşıyın ya da diğer iki düğmeyi bir LinearLayout içine koyun, daha sonra "recordButton" doğal olarak üstte yüzebilir. – sakiM

cevap

1

varsayılan düğmesi dokunulana çalıştırılacak animasyonlar vardır ve bunun için StateListAnimator kullanır. Düğmeyi yükselten, çalıştırılan animasyonlara dokunulur ve görünümün android:elevation ve android:translateZ özelliklerini değiştirir (Google ref).

Bunun animasyon yapmasını engellemek için, bu Görünümde animasyonların çalışmasını durdurun. Kullanın:

android:stateListAnimator="@null"

0

kullanın FrameLayout

enter image description here

. Orada koyduğunuz tüm öğeler birbiri üstüne yığılmış.

Veya deneyin:

Yukarıdaki resim görünümü koyun (üstte - ebeveynin ilk çocuğu) xml düzeni görüntü düzeni arkasında olacak şekilde dosya.

Bir düğme kullandığınız farketmez, aynı olmalıdır. Umut eder.

Bu link

DÜZENLEME bu bilgiyi aldı:

Bu i kodunuzu almak ve bunu başlatmak olamaz çünkü belki bir şey eksik im bir çerçeve düzeni dönüştürmek zaman benziyor nasıl bir emülatör atm.

Example of framelayout

+0

Hey, Ben de öyle düşündüm, ama aslında bir FrameLayout ile gerçekte yukarıdaki gibi göründüğü bir şekilde nasıl gerçekleştirileceğini bilmiyorum. – poitroae

+0

@poitroae Hızlı bir şekilde aynı mizanpajı yapabildiğim ve ben de buna benzeyebiliyorum, ama gerekli tüm res dosyalarım var, bu düzeni denemeyi ve silmeyi ve yeni bir tane oluşturmayı deneyebilir misiniz? - Görünümümü size göstermek için evlatıcımı düzenleme - – Robbert

+0

@poitroae btw Kodu diğer düğmelerin üstündeki kayıt düğmesinden yukarı taşımaya çalıştınız mı? Bazen bir zamanlar yardımcı olurum. Ben bu konuda en bilgim yok bu yüzden ben android için yeni duyuyorum :) – Robbert