2017-04-05 31 views
0

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

我的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> 
+1

偏题 - 我不确定你的整个应用程序是什么样的,但从你提供的例子来看,你似乎在每个'CardView'上都放了一个'FAB',并根据[Google的Material Design](https:/ /material.io/guidelines/components/buttons-floating-action-button.html#buttons-floating-action-button-large-screens)这是不好的做法。 –

回答

0

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

+0

不幸的是我已经使用这个参数,并不工作.. –

+0

把晶圆厂的cardView,或把一个按钮,一个FAB在CardView是一个坏主意,或者如果卡视图要显示在回收视图最好放一个按钮 – madmvx

0

为什么不改变框架布局为相对布局,我觉得更容易玩一些布局,从那里你可以添加像layout_above =“@ id/imageprodcard”和layout_alignparentRight和TOP FAB。希望能帮助到你!

相关问题