2015-04-15 7 views
0

У меня есть horizontalScrollView с некоторым видом в виде карты внутри. Есть изображение и текстовое изображение внутри вида карты.есть ли способ поместить Cardview внутри Horizontalscrollview?

Раньше я делал это вручную, создавая новый linearlayout и программируя изображение и текст внутри представления.

код типа карты, как показано ниже:

 LinearLayout layout = new LinearLayout(getActivity() 
       .getApplicationContext()); 
     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(PixeltoDp(100),PixeltoDp(180)); 
     //params.setMargins(PixeltoDp(10),PixeltoDp(5),PixeltoDp(10), PixeltoDp(5)); 
     params.setMargins(10,5,10,5); 
     //layout.setLayoutParams(new LayoutParams(280,400));// single container 
     layout.setLayoutParams(params); 
     layout.setOrientation(LinearLayout.VERTICAL); 
     layout.setGravity(Gravity.TOP); 
     layout.setBackgroundResource(R.drawable.bg_card); 

     final ImageView imageView = new ImageView(getActivity() 
       .getApplicationContext()); 
     imageView............ 


     TextView textView = new TextView(getActivity().getApplicationContext()); 
     ............... 

     layout.addView(imageView); 
     layout.addView(textView); 

     return layout; 

    } 

, но теперь, я хотел бы использовать класс android.support.v7.widget.CardView, чтобы сделать это. поэтому я могу легко настроить макет карты в файле cardview.xml в макете/папке. и мой макет cardview, как это:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_gravity="center"> 

    <ImageView 
     android:id="@+id/movie_img" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="0.8" 
     android:gravity="center_horizontal" 
     android:cropToPadding="false" 
     android:src="@drawable/ic_poster" /> 

    <TextView 
     android:id="@+id/movie_title" 
     android:layout_width="fill_parent" 
     android:layout_height="25dp" 
     android:gravity="center" 
     android:ellipsize="end" 
     android:singleLine="true" 
     android:hint="synaptop" 
     android:textSize="10sp" 
     android:textColor="#e0e0e0" /> 
</LinearLayout> 

проблема заключается в том, как я должен использовать файл макета?

ответ

0

Я нашел ответ сам после того, как все ... только inflat вид

//create ur cardview here and inflate it 
    final CardView mCardView = new CardView(getActivity()); 
    View.inflate(getActivity(), R.layout.cardview_layout, mCardView); 

    LinearLayout mCardContainer = (LinearLayout)mCardView.findViewById(R.id.card_view_container); 

    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 

     mCardContainer.setBackgroundResource(R.drawable.ripple_color_borderless); 
    } 


    //here u just define whatever u have in ur cardview xml 
    final ImageView mImageView = (ImageView) mCardView.findViewById(R.id.movie_img); 
    mImageView.setTag(index); 
    mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 

и конец, добавьте эту точку зрения на ваш horizontalScrollView.

 Смежные вопросы

  • Нет связанных вопросов^_^