2017-04-05 57 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。希望能幫助到你!

相關問題