2015-10-19 3 views
2

Я добавил плавающую кнопку для моего приложения с изображением inside.pngAndroid: Плавающие кнопки действий появляется с прозрачным фоном

на тестирование с использованием пряники устройства он продолжает показывать кнопку без фонового цвета. но на леденец его ок

вот мой код действия

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 

import butterknife.Bind; 
import butterknife.ButterKnife; 

public class MainActivity2 extends AppCompatActivity { 
    @Bind(R.id.toolbar)Toolbar toolbar; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 
     ButterKnife.bind(this); 
     setSupportActionBar(toolbar); 

    } 
} 

и вот мой XML файл

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

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <include 
     layout="@layout/toolbar" /> 

    <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/card" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/dp10" 
     android:background="@color/card" 
     android:gravity="center" 
     card_view:cardCornerRadius="5dp"> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical" 
      android:padding="@dimen/dp5"> 

      <EditText 
       android:id="@+id/main_edt_from" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="@dimen/dp30" 
       android:hint="@string/amount" 
       android:inputType="numberDecimal" /> 
     </LinearLayout> 

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

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/btn_next" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="@dimen/dp15" 
    android:src="@drawable/ic_send" 
    app:elevation="2dp" 
    app:fabSize="normal" 
    app:layout_anchor="@id/card" 
    app:layout_anchorGravity="bottom|right|end" /> 

мой Gradle является

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "com.kr.currencyconverter" 
     minSdkVersion 10 
     targetSdkVersion 23 
     versionCode 4 
     versionName "2.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.jakewharton:butterknife:7.0.1' 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.android.support:support-v4:23.0.1' 
    compile 'com.android.support:design:23.0.1' 
    compile 'com.google.android.gms:play-services:8.1.0' 
    compile 'com.android.support:cardview-v7:23.0.1' 
    } 

что я попробовали добавив app:backgroundTint="@color/accent" к кнопке плавающего действия, но она не сработала.

здесь изображение, чтобы показать, что я имею в виду .. в тестировании я получаю прозрачную кнопку enter image description here

+0

Попробуйте дать некоторый задний цвет поверхности плавающей кнопке Action в XML, чтобы избежать прозрачности. – dex

+0

@dex Я добавил приложение: backgroundTint = "@ color/accent", но он не работает –

+0

дать 'android: alpha =" 1.0f "' для fab и check –

ответ

0

вы должны установить

app:backgroundTint="@color/yourcolor" 
+0

Нет, это не сработало –

+0

Я думаю, что «Tint» не может быть применимым к версии, меньшей, чем «Lollipop» –

0

прикрепить этот значок здесь

"@dimen/dp15" 

там кажется, является фоновым цветом, присутствующим на этом изображении.

+0

вы можете объяснить? Я сделал это уже android: layout_margin = "@ dimen/dp15" android: src = "@ drawable/ic_send" –

+0

Я имел в виду изображение android: src = "@ drawable/ic_send", проверьте, имеет ли он цвет фона , –

+0

вы можете попробовать установить ic_send как кнопку фона –

0

У меня была аналогичная проблема с FloatingActionButton (FAB). В моем случае я использовал фрагменты в Activity, и у меня был FAB в файле макета моей активности. Таким образом, фрагмент отображается поверх FAB. Поэтому мне пришлось добавить fab.bringToFront(); в onPostResume() метод в моей деятельности, чтобы заставить его работать.

@Override 
protected void onPostResume() { 
    super.onPostResume(); 
    fab.bringToFront(); // fab - reference of FloatingActionButton 
} 

Кроме того, проверка высоты макета должна быть меньше высоты FAB.

+0

Это была ошибка в поддержке библиотеки 23.0.1, и она была исправлена ​​с Google, и теперь она работает нормально. Спасибо :) –

Смежные вопросы