İki TextView ve iki ImageView içeren tek bir CardView var. "İşten çıkar" için sola ve sağa kaydırmak istiyorum. Aslında bir niyet göndermek için hızlıca kaydırma yapmak istiyorum ancak daha sonra yapılabilir. Şimdilik, CardView'ı sola veya sağa kaydırarak kapatmak istiyorum. Ben de swiping animasyonunu istiyorum.Android CardView'da kaydırma işlevi nasıl eklenir?
romannurik's SwipeDismissTouchListener
kullanmayı denedim ancak CardView hızlıca kaydırmaya yanıt vermiyor.
romannurik's
özel dinleyiciden daha iyi bir çözümü varsa, lütfen paylaşın.
İşte benim CardView düzeni aşağıdaki gibidir:
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/generate"
map:cardCornerRadius="@dimen/_3sdp"
map:cardElevation="@dimen/_8sdp"
android:id="@+id/restaurantContainer">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/thumbnail"
android:layout_width="@dimen/_75sdp"
android:layout_height="@dimen/_75sdp"
android:layout_margin="@dimen/_5sdp" />
<ImageView
android:id="@+id/rating"
android:layout_width="@dimen/_75sdp"
android:layout_height="@dimen/_15sdp"
android:layout_margin="@dimen/_5sdp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_5sdp"
android:gravity="top"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/categories"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="@dimen/_5sdp"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
map:cameraZoom="14"
map:liteMode="true"
map:mapType="normal" />
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
nasıl kurulum SwipeDismissTouchListener:
RelativeLayout rootLayout;
CardView restaurantCardView;
...
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootLayout = (RelativeLayout) inflater.inflate(R.layout.fragment_main, container, false);
restaurantCardView = (CardView) rootLayout.findViewById(R.id.restaurantContainer);
restaurantCardView.setOnTouchListener(new SwipeDismissTouchListener(restaurantCardView, null, new SwipeDismissTouchListener.DismissCallbacks() {
@Override
public boolean canDismiss(Object token) {
Log.d("Chris", "canDismiss() called with: " + "token = [" + token + "]");
return true;
}
@Override
public void onDismiss(View view, Object token) {
Log.d("Chris", "onDismiss() called with: " + "view = [" + view + "], token = [" + token + "]");
}
}));
....
return rootLayout;
ben onDismiss(...)
den canDismiss(...)
ancak gelen günlüğünü görmek mümkün duyuyorum.
Müthiş
RestaurantCard
sadece özelView
(bizim durumumuzdaCardView
uzanır) 'dir detaylı cevabınızı gerçekten takdir edin. Bir sorum var: Sadece bir CardView kullanıyorum, 'RestaurantCardAdapter' yaratmanın en iyi yolu nedir? Tüm çevrimiçi örnekler listeler içindir. Özellikle yapmam gereken bir şey var mı? Sadece bir yere takılmak istemiyorum ve zamanımı aptalca hataları düzeltmeye harcamıyorum. – ctzdev@ChrisTarazi Ben bu fikri test etmek için kullandığım Adaptör & ViewHolder ile güncelledim. İyi şanslar! Herhangi bir sorunuz var - sadece –
'dan soruyorum 'onCreateViewHolder (...)' ile sorun yaşıyorum. Sanırım çevrimiçi gördüklerime dayanarak bir görünümü şişirmemiz gerekiyor. Çünkü "onBindViewHolder (...)", "RestaurantViewHolder" öğesinin "TextViews" ve "ImageViews" referansları "null".Yani eksik olduğumuz görüşlere sahip bir şey olmalı. – ctzdev