2017-01-10 16 views
0

私のアプリケーションでフローティングアクションボタンに問題が発生しました。 Android Studioのエミュレータでは、アプリのエミュレータにあるxmlファイルの「デザイン」ビューでも、実際のデバイスでも、アプリを実行すると円形の形状ではなく楕円形になります。 さらに、このエラーはいくつかの実行時にのみ発生します...昨日のFABは私のデバイスでも循環していましたが、今日はありません(XML部分を修正していません。そこに私は私のデバイス上FABを参照してくださいする方法の二つの絵があり、それはエミュレータ上でどのように見えるかフローティングアクションボタン不良レンダリング

<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/coor" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:weightSum="1"> 

    <RelativeLayout 
     android:id="@+id/relative" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="@dimen/activity_horizontal_margin" 
     android:layout_weight="0.88"> 

    <!-- Other elements--> 

    <!-- Parent element--> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/etEntrate" 
      android:textSize="@dimen/subtitles" 
      android:padding="@dimen/activity_horizontal_margin" 
      android:layout_alignRight="@+id/data" 
      android:layout_alignEnd="@+id/data" 
      android:layout_below="@+id/etSpese" 
      android:layout_marginRight="@dimen/activity_horizontal_margin" 
      android:layout_marginEnd="@dimen/activity_horizontal_margin" 
      android:layout_marginTop="@dimen/activity_horizontal_margin" 
       android:layout_marginBottom="@dimen/activity_horizontal_margin"/> 

    <!--FAB--> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      app:srcCompat="@drawable/plus" 
      android:layout_alignTop="@+id/etEntrate" 
      android:layout_marginTop="59dp" 
      android:layout_alignLeft="@+id/etEntrate" 
      android:layout_alignStart="@+id/etEntrate" 
      android:layout_alignRight="@+id/etEntrate" 
      android:layout_alignEnd="@+id/etEntrate" /> 

    <!--other elements--> 
    </RelativeLayout> 
</LinearLayout> 

、ここで:

。私はボタンを定義し

は、これは私の.xmlファイルであります

FAB:

Androidのメーカー

FAB on the design view of Android Studio

のデザインビュー上

FABは、誰もこのことについていくつかのアイデアを持って?ありがとうございました!

+0

最初にFAB Drawableを設定するために 'android:src'を使用すると、' etEntrate'要素の左右両方に合わせる理由を教えてください。アーカイブしたいもののドラフトを描きます。チャオ! – fillobotto

+0

使用しているデザインサポートライブラリのバージョンは? –

+0

余白を変更してみてください。 – W4R10CK

答えて

0

もちろんFABの幅と高さはwrap_contentに設定されていますが、左右に揃えようとしているため、これが伸びています。 どちらか一方を削除するだけです。

0

水平方向で重力を使用している場合は、レイアウト内のすべての子に対してlayout_width = 0dp &、垂直方向の場合はlayout_height = 0dpを使用する必要があります。

または

すでにレイアウト座標使用しているため、単に相対レイアウトからフローティング操作ボタンを削除します。

<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/coor" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

    <RelativeLayout 
     android:id="@+id/relative" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="@dimen/activity_horizontal_margin" 
     android:layout_weight="0.88"> 

    <!-- Other elements--> 

    <!-- Parent element--> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:id="@+id/etEntrate" 
      android:textSize="@dimen/subtitles" 
      android:padding="@dimen/activity_horizontal_margin" 
      android:layout_alignRight="@+id/data" 
      android:layout_alignEnd="@+id/data" 
      android:layout_below="@+id/etSpese" 
      android:layout_marginRight="@dimen/activity_horizontal_margin" 
      android:layout_marginEnd="@dimen/activity_horizontal_margin" 
      android:layout_marginTop="@dimen/activity_horizontal_margin" 
       android:layout_marginBottom="@dimen/activity_horizontal_margin"/> 

    <!--FAB--> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      app:srcCompat="@drawable/plus" 
      android:layout_alignTop="@+id/etEntrate" 
      android:layout_marginTop="59dp" 
      android:layout_alignLeft="@+id/etEntrate" 
      android:layout_alignStart="@+id/etEntrate" 
      android:layout_alignRight="@+id/etEntrate" 
      android:layout_alignEnd="@+id/etEntrate" /> 

    <!--other elements--> 
    </RelativeLayout> 
関連する問題