如何设置填充为Android的大号cardview部件大号、部件、如何设置、Android

2023-09-06 01:15:47 作者:嘴角上扬、用力微笑

我使用的是安卓以下属性来和android:paddingTop设置填充新cardview小部件,但它不工作。我可以设置页边距为所有cardview作为一种解决方法内部的控制,但,这是一个痛苦,如果有太多的控制。如何设置填充新cardview小部件?非常感谢......

 < android.support.v7.widget.CardView
    的xmlns:card_view =htt​​p://schemas.android.com/apk/res-auto
    机器人:ID =@ + ID / card_view
    机器人:layout_gravity =中心
    机器人:layout_width =match_parent
    机器人:layout_height =200dp
    机器人:以下属性来=20dp
    机器人:paddingRight =@扪/ activity_horizo​​ntal_margin
    机器人:paddingTop =20dp
    机器人:paddingBottom会=@扪/ activity_vertical_margin
    card_view:cardCornerRadius =2DP>

    <的TextView
        机器人:ID =@ + ID / info_text
        机器人:layout_width =match_parent
        机器人:layout_height =WRAP_CONTENT
        机器人:文本=您好!世界/>
< /android.support.v7.widget.CardView>
 

解决方案

CardView到L preVIEW之前使用RoundRectDrawableWithShadow绘制背景,这将覆盖Drawable.getPadding()来添加阴影填充。该视图的背景被通过code充气后,将覆盖在XML中指定任何填充设置。

您有两种选择:设置填充在运行时使用View.setPadding(),并小心调整阴影,或将所有的布局,指定填充内(但只有前L- preVIEW!) 。后者的选择是最安全的。

 < android.support.v7.widget.CardView
    的xmlns:card_view =htt​​p://schemas.android.com/apk/res-auto
    机器人:ID =@ + ID / card_view
    机器人:layout_gravity =中心
    机器人:layout_width =match_parent
    机器人:layout_height =200dp
    card_view:cardCornerRadius =2DP>

    <的FrameLayout
        机器人:以下属性来=20dp
        机器人:paddingRight =@扪/ activity_horizo​​ntal_margin
        机器人:paddingTop =20dp
        机器人:paddingBottom会=@扪/ activity_vertical_margin>

        <的TextView
            机器人:ID =@ + ID / info_text
            机器人:layout_width =match_parent
            机器人:layout_height =WRAP_CONTENT
            机器人:文本=您好!世界/>
    < /的FrameLayout>
< /android.support.v7.widget.CardView>
 
求助 怎么把自拍的照片改成证件照似的蓝底2寸照

I'm using android:paddingLeft and android:paddingTop to set the padding for the new cardview widget but it doesn't work. I can set the margin for all the controls inside the cardview as a workaround but that's a pain if there are too many controls. How to set padding for the new cardview widget? Thanks very much...

<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/card_view"
    android:layout_gravity="center"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:paddingLeft="20dp"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="20dp"
    android:paddingBottom="@dimen/activity_vertical_margin"
    card_view:cardCornerRadius="2dp">

    <TextView
        android:id="@+id/info_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hello World!"/>
</android.support.v7.widget.CardView>

解决方案

CardView prior to L-preview uses RoundRectDrawableWithShadow to draw its background, which overrides Drawable.getPadding() to add shadow padding. The view background gets set via code after inflation, which overrides any padding specified in XML.

You have two options: set padding at run time using View.setPadding() and be careful to adjust for the shadows (but only prior to L-preview!), or place everything inside a layout that specifies padding. The latter option is safest.

<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/card_view"
    android:layout_gravity="center"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    card_view:cardCornerRadius="2dp">

    <FrameLayout
        android:paddingLeft="20dp"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="20dp"
        android:paddingBottom="@dimen/activity_vertical_margin">

        <TextView
            android:id="@+id/info_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Hello World!"/>
    </FrameLayout>
</android.support.v7.widget.CardView>

 
精彩推荐