我可以在recyclerview项目中使用cardflip效果吗?

时间:2015-08-07 00:56:39

标签: android android-recyclerview flip

我想在回收者视图的每个项目中使用卡片翻转效果(http://developer.android.com/intl/es/training/animation/cardflip.html)。

我有3个观点。

item_cancion:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

item_cancion_front和item_cancion_back(两个xml,带有相同的证明信息)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp"
    android:background="?android:attr/selectableItemBackground"
    android:clickable="true"
    android:focusable="true">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imgReproduciendo"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignBottom="@+id/txtArtista"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:maxWidth="30dp"
        android:layout_marginRight="10dp" />

    <TextView
        android:id="@+id/txtTitulo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="14dp"
        android:textStyle="bold"
        android:layout_alignParentTop="true"
        android:singleLine="true"
        android:layout_toLeftOf="@+id/txtDuracion"
        android:layout_toRightOf="@+id/imgReproduciendo"
        android:layout_toEndOf="@+id/imgReproduciendo"
        android:text="Titulo" />

    <TextView
        android:id="@+id/txtArtista"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="14dp"
        android:singleLine="true"
        android:maxWidth="190dp"
        android:layout_below="@+id/txtTitulo"
        android:layout_toRightOf="@+id/imgReproduciendo"
        android:layout_toEndOf="@+id/imgReproduciendo"
        android:text="Artista" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/txtAlbum"
        android:singleLine="true"
        android:textSize="14dp"
        android:gravity="right"
        android:layout_below="@+id/txtDuracion"
        android:layout_alignRight="@+id/txtDuracion"
        android:layout_alignEnd="@+id/txtDuracion"
        android:layout_toRightOf="@+id/txtArtista"
        android:layout_marginLeft="15dp"
        android:text="Album" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/txtDuracion"
        android:paddingLeft="25dp"
        android:singleLine="true"
        android:textSize="14dp"
        android:textStyle="italic"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:text="Duracion" />
</RelativeLayout>

在viewHolder适配器中我有:

@Override
public AdaptadorCancionesActual.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_cancion, parent, false);
    actividad.getFragmentManager().beginTransaction().add(R.id.container, new CardFrontFragment()).commit();
    ViewHolder vh = new ViewHolder(v, this);
    return vh;
}

并且ViewHolder是:

public ViewHolder(View v, AdaptadorCancionesActual mAdapter) {
        super(v);
        this.mAdapter = mAdapter;
        frameLayout = (RelativeLayout) v.findViewById(R.id.container);
        txtCancion = (TextView) frameLayout.findViewById(R.id.txtTitulo);
        txtArtista = (TextView) frameLayout.findViewById(R.id.txtArtista);
        txtAlbum = (TextView) frameLayout.findViewById(R.id.txtAlbum);
        txtFin = (TextView) frameLayout.findViewById(R.id.txtDuracion);
        imgReproduciendo = (ImageView) frameLayout.findViewById(R.id.imgReproduciendo);
        v.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        int position = getLayoutPosition();
        Datos.getMusicSrv().setSong(position);
        Datos.getMusicSrv().playSong();
        mAdapter.flipCard();
        //mAdapter.notifyDataSetChanged();
    }

我有两个问题...... 首先,我可以在recyclerView项目中使用此效果吗? 如果是......为什么TextViews为空。

0 个答案:

没有答案