FloatingViewButton在cardView中的位置

时间:2017-04-05 21:11:04

标签: android material-design floating-action-button

我在XML设计的右上角设置了我的浮动按钮,但是当我将应用程序运行到设备中时,浮动按钮没有找到正确的位置。 我会在设备中获得相同的XML设计位置。

我的XML设计:

XML design

设备展示:

device

<android.support.v7.widget.CardView
    android:id="@+id/card_view"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
     android:clickable="true"
    android:layout_margin="4dp"
    card_view:cardCornerRadius="7dp"
     android:elevation="8dp"
        app:cardPreventCornerOverlap="false"
     >
<LinearLayout

    android:orientation="vertical" android:layout_width="152dp"
    android:layout_height="match_parent"
    android:weightSum="1"
    android:descendantFocusability="blocksDescendants">

     <FrameLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content">

         <ImageView
             android:layout_width="match_parent"
             android:layout_height="100dp"

             android:scaleType="fitXY"
             app:srcCompat="@drawable/draw_menu"
             android:id="@+id/imageprodcard" />

         <android.support.design.widget.FloatingActionButton
             android:id="@+id/likeButtoncard"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_margin="0dp"
             android:clickable="true"
             android:src="@drawable/heart"
             android:layout_gravity="right"
             app:borderWidth="0dp"
            app:fabSize="mini"
             app:layout_anchor="@id/imageprodcard"
             app:backgroundTint="#FFCCBC"
             app:srcCompat="@drawable/ic_favorite_border_black_24dps"
             />

     </FrameLayout>

    <TextView
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="TextView"
        android:layout_width="match_parent"
        android:layout_height="25dp"
        android:id="@+id/nomprodtestcard"
        android:textAllCaps="false"
        android:fontFamily="casual"
        android:textAlignment="center"
        android:paddingLeft="5dp" />

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="16dp">

        <TextView
             android:textAppearance="?android:attr/textAppearanceSmall"
             android:text="TextView"
             android:layout_width="105dp"
             android:layout_height="20dp"
             android:id="@+id/prixprodtestcard"
             android:textColor="@android:color/holo_red_light"
             android:textAlignment="center"
            android:paddingLeft="5dp"
            android:elevation="5dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/rating"
            android:layout_weight="777.07" />

        <ImageView
            android:layout_width="20dp"
            android:layout_height="match_parent"
            app:srcCompat="@android:drawable/btn_star"
            android:id="@+id/imageView4"
            android:scaleType="fitStart" />

    </LinearLayout>

    <TextView
         android:textAppearance="?android:attr/textAppearanceSmall"
         android:text="TextView"
         android:layout_width="match_parent"
         android:layout_height="20dp"
         android:id="@+id/qtestockcard"
         android:textStyle="normal|italic"
         android:textAlignment="center"
         android:paddingLeft="5dp" />


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

2 个答案:

答案 0 :(得分:0)

使用layout_gravity= right|bottommargin= "..."并在CardView中设置FloatingActionButton `或设置在viewPager

答案 1 :(得分:0)

为什么不将帧布局更改为相对布局,我发现更好地使用布局更好一些,从那里你可以添加类似layout_above =“@ id / imageprodcard”和layout_alignparentRight和TOP的内容。 FAB。希望它有所帮助!