2016-03-28 7 views
1

Als ich meine ListView zum ersten Mal erstellte, machte das Tippen auf ein Element eine nette Farbverlaufsanimation, aber sie wird aus irgendeinem Grund nicht mehr angezeigt, und ich habe zu viele Änderungen vorgenommen, um zu sagen, was sie kaputt gemacht hat . Gibt es etwas in meinem Code, das die Animation überschreibt oder bricht? Ich bin ziemlich ratlos:/ListView-Elemente, die keine Tap-Animation zeigen

ACTIVITY XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.nwoodthorpe.busstop.AddActivity"> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Select a Route" 
     android:textColor="#ffffff" 
     android:id="@+id/header" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:minHeight="60dp" 
     android:gravity="center" 
     android:textSize="25sp" 
     android:background="@color/colorPrimary" 
     android:layout_alignParentEnd="false" 
     android:layout_alignParentRight="false" 
     android:layout_centerHorizontal="true" 
     android:typeface="normal"/> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="14dp" 
     android:layout_marginLeft="28dp" 
     android:adjustViewBounds="true" 
     android:maxWidth="35dp" 
     android:maxHeight="35dp" 
     android:scaleType="fitCenter" 
     android:src="@drawable/back" 
     android:id="@+id/back" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="false" 
     android:layout_alignParentStart="false" 
     android:layout_alignParentLeft="true" 
     android:clickable="true" 
     /> 

    <View android:background="#000" 
     android:layout_width="match_parent" 
     android:layout_height="1px" 
     android:layout_below="@id/header" 
     android:id="@+id/div"/> 
    <ListView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/list" 
     android:layout_below="@+id/div" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentBottom="true" 
     android:clickable="true"/> 

</RelativeLayout> 

ACTIVITY Java-Datei

public class AddActivity extends AppCompatActivity { 

    public void onBackClick(View v){ 
     finish(); 
    } 

    public void setButtonListeners(){ 
     ImageView backButton = (ImageView)findViewById(R.id.back); 
     backButton.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v) { 
       onBackClick(v); 
      } 
     }); 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_add); 

     ArrayList<BusRoute> routes = UserValues.getInstance().stops; 

     ArrayAdapter adapter = new AddListAdapter(this, 0, routes); 

     // Link the data and our listview using the adapter. 
     ListView listView = (ListView) findViewById(R.id.list); 
     listView.setAdapter(adapter); 

     setButtonListeners(); 
    } 
} 

ITEM XML-Datei:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="60dp" 
    android:gravity="center_vertical" 
    android:minHeight="60dp" 
    android:background="@color/background" 
    android:clickable="true" 
    > 

    <TextView 
     android:id="@+id/smallname" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_marginLeft="20dp" 
     android:background="@drawable/circle" 
     android:gravity="center" 
     android:text="51A" 
     android:textColor="@android:color/tab_indicator_text" 
     android:textStyle="bold" 
     android:layout_centerVertical="true" 
     android:textSize="15sp" 
     android:focusable="false" 
     /> 

    <TextView android:id="@+id/longname" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="85dp" 
     android:layout_centerVertical="true" 
     android:text="Name" 
     android:textStyle="bold" 
     android:textSize="14sp" 
     android:focusable="false"/> 

</RelativeLayout> 

Antwort

1

Es ist das Materialdesign. Seit Android 5.0 zeigen Sie uns die . Die ListView ist ein Teil davon.
Sie können überprüfen, ob die Version des Geräts Android 5.0 oder höher ist. Sie können auch einige Bibliotheken wie this one verwenden. Die Animation ist wie this. Überprüfen Sie den letzten Abschnitt Z-axis motion.

Sie finden die Animation ist weg, weil Sie die Hintergrundfarbe festlegen. Versuchen Sie, den Hintergrund des Objekts zu entfernen.

Verwandte Themen