如何使用cardviews兼容每个Android屏幕尺寸设备进行布局?

时间:2016-12-10 10:54:45

标签: android xml layout android-cardview

我正在努力使这个布局兼容每个Android屏幕尺寸。我尝试了很多东西,比如制作不同的布局文件夹,但它不起作用。 我也关注此链接,但我不太了解。 Link

     <android.support.v7.widget.CardView
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:card_view="http://schemas.android.com/apk/res-auto"
            android:id="@+id/card_view_mehandi"
            android:layout_width="160dp"
            android:layout_height="150dp"
            card_view:cardCornerRadius="6dp"
            android:layout_marginBottom="5dp"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="40dp">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical">
                <ImageView
                    android:onClick="photo"
                    android:id="@+id/photographerImageView"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1.0"
                    android:scaleType="centerCrop"
                    android:background="@drawable/vender_photographer" />
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Photographer"
                    android:layout_marginLeft="50dp"
                    android:layout_marginBottom="5dp"
                    />
            </LinearLayout>
        </android.support.v7.widget.CardView>

2 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,只需要增加重量而不是不同尺寸的边距。

&#13;
&#13;
{{1}}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

compile 'com.intuit.sdp:sdp-android:1.0.3'

将此依赖项编译到您的gradle文件中并使用sdp代替dp,如

android:width="@dimen/_40sdp" 

,它适用于所有设备。