不同图像屏幕上的cardview中不同的imageview大小

Pra*_*u K 0 android imageview android-cardview

我在cardview中使用带有回收器的imageview.我还为不同的屏幕尺寸创建了文件夹.它适用于小屏幕手机和平板电脑,但手机屏幕超过5.5英寸存在缩放问题屏幕尺寸为5.5(420dp)的手机屏幕截图

屏幕尺寸(600dp)的手机屏幕截图

代码如下:

cardview.xml(420dp)

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:card_view="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">

     <android.support.v7.widget.CardView
         android:id="@+id/card_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center"
         android:layout_margin="15dp"
         android:elevation="3dp"
         card_view:cardCornerRadius="5dp">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/thumbnail"
            android:layout_width="match_parent"
            android:layout_height="@dimen/album_cover_height"
            android:background="?attr/selectableItemBackgroundBorderless"
            android:clickable="true"
            android:scaleType="fitXY"
            android:src="@drawable/ritu"/>


        <TextView
            android:id="@+id/title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/thumbnail"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp"
            android:textColor="#4c4c4c"
            android:textSize="15dp"
            android:textAlignment="center"/>


            </RelativeLayout>

          </android.support.v7.widget.CardView>

       </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

cardview.xml(600dp)

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:card_view="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">

     <android.support.v7.widget.CardView
         android:id="@+id/card_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center"
         android:layout_margin="15dp"
         android:elevation="3dp"
         card_view:cardCornerRadius="5dp">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/thumbnail"
            android:layout_width="match_parent"
            android:layout_height="@dimen/album_cover_height"
            android:background="?attr/selectableItemBackgroundBorderless"
            android:clickable="true"
            android:scaleType="fitXY"
            android:src="@drawable/ritu"/>
        <!---->

        <TextView
            android:id="@+id/title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/thumbnail"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp"
            android:textColor="#4c4c4c"
            android:textSize="15dp"
            android:textAlignment="center"/>


            </RelativeLayout>

          </android.support.v7.widget.CardView>

       </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

因此,在第二个屏幕截图中,您可以看到图像scaleType = fitXY不起作用.它使用所有不同的屏幕,包括平板电脑以及使用相同的代码

Int*_*iya 5

每个Drawable都作为单个文件存储在其中一个res/drawable文件夹中.您应该在-mdpi, -hdpi, -xhdpi, -xxhdpi子文件夹中存储不同分辨率的图像res/drawable.

您应该将每种类型的资源放在您的特定子目录project's res/ directory.确保,你做得对不对.

您可以在清单部分中添加以下内容

<supports-screens
        android:resizeable="true"
        android:smallScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:normalScreens="true"
        android:anyDensity="true"/>
Run Code Online (Sandbox Code Playgroud)

Support different screen sizes.