2014-04-23 12 views
5

Witam Jestem nowy w rozwoju Androida. Chcę tworzyć efekty onclick do textview. Kiedy klikam na widok tekstowy, zacznie blednąć lub coś zrobi efekt. Próbowałem go ze zmianą koloru, ale nie działa. Jak mogę zrobić efekt blingowania onclick? proszę mi pomóc z przykładowym kodem. z góry dzięki :)Jak zrobić efekt blasku na textview na kliknięcie?

+0

środki Bling kliknij działanie lub animację po kliknięciu TextView – Shivansh

+0

tak dokładnie ..... – Maxwell

Odpowiedz

0
public class TesteBlinkActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     blink(); 
} 

private void blink(){ 
    final Handler handler = new Handler(); 
    new Thread(new Runnable() { 
     @Override 
     public void run() { 
     int timeToBlink = 1000; //in milissegunds 
     try{Thread.sleep(timeToBlink);}catch (Exception e) {} 
      handler.post(new Runnable() { 
       @Override 
        public void run() { 
        TextView txt = (TextView) findViewById(R.id.usage); 
        if(txt.getVisibility() == View.VISIBLE){ 
         txt.setVisibility(View.INVISIBLE); 
        }else{ 
         txt.setVisibility(View.VISIBLE); 
        } 
        blink(); 
       } 
       }); 
      } 
     }).start(); 
    } 
1

try poniższym kodzie: -

 <Button 
      android:id="@+id/action" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="3" 
      android:layout_margin="5dp" 
      android:background="@drawable/btn_click" 
      android:gravity="center" 
      android:textColor="@color/white" 
      android:textSize="12sp" /> 

btn_click.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/button_hover" android:state_pressed="true"/> 
    <item android:drawable="@drawable/button"/> 

</selector> 

lub poniżej również

btn_hover.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 

    <stroke 
     android:width="1dp" 
     android:color="#000000" /> 

    <gradient 
     android:angle="270" 
     android:centerColor="#1a000000" 
     android:endColor="#33000000" 
     android:startColor="@android:color/transparent" > 
    </gradient> 

    <corners android:radius="5dp" /> 

</shape> 

btn.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
    <stroke 
     android:color="#000000" 
     android:width="1dp" 
     /> 
    <gradient 
     android:angle="270" 
     android:centerColor="@android:color/transparent" 
     android:endColor="@android:color/transparent" 
     android:startColor="@android:color/transparent" > 
    </gradient> 
    <corners android:radius="5dp" /> 
</shape> 

btn_click.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/btn_hover" android:state_pressed="true"/> 
    <item android:drawable="@drawable/btn"/> 

</selector> 
+0

użyłem TextView – Maxwell

+0

żaden przycisk Zmień problem TextView – duggu

+0

ale użyłeś button_hover, który jest obrazem prawo ?? – Maxwell

6

stworzyć xml o nazwie coś jak txt_bg.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/numpad_button_bg_selected" android:state_selected="true"></item> 
    <item android:drawable="@drawable/numpad_button_bg_pressed" android:state_pressed="true"></item> 
    <item android:drawable="@drawable/numpad_button_bg_normal"></item> 

</selector> 

następnie dodaj w texview xml

android:background="@drawable/txt_bg" 
android:clickable="true" 

nadzieję, że to pomoże.

5

Najprościej jest ustawić tło na TextView:

android:background="?attr/selectableItemBackground" 

A jeśli chcesz ustawić inny kolor tła, ustawić, że atr jak foreground zamiast background.

+0

Prawidłowo. Dziękuję Ci! –

+0

To jest dokładnie to, co chcę :) – iroiroys

Powiązane problemy