我在FloatingActionButton上显示图标时遇到问题。图标失去透明度。我有compedSdkVersion 28。
依赖关系是:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
//noinspection GradleDynamicVersion
implementation 'com.android.support:recyclerview-v7:28.0.0-rc02'
implementation 'com.android.support:design:28.+'
implementation 'com.android.support:cardview-v7:28.0.0-rc01'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-
core:3.0.2'
implementation 'com.squareup.picasso:picasso:2.71828'
}
布局为:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorDivider"
tools:context=".activities.MainActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerViewId"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabAddCity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:clickable="true"
android:src="@mipmap/ic_plus"
app:backgroundTint="@color/colorPrimaryDark"
app:borderWidth="0dp"
android:focusable="true"/>
</FrameLayout>
它看起来像这样:
答案 0 :(得分:1)
问题: app:backgroundTint="@color/colorPrimaryDark"
它使透明部分具有您选择的背景颜色。因此,您可以将其替换为android:tint="@android:color/colorPrimaryDark"
或android:tint="@android:color/background_light"
(如果需要白色)
或者您可以使用以下代码替换代码:
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabAddCity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:clickable="true"
android:tint="@android:color/background_light"
app:srcCompat="@android:drawable/ic_input_add"
app:borderWidth="0dp"
android:focusable="true"/>
我意识到您正在使用colorPrimaryDark进行着色,如果您坚持使用,请将其更改为android:tint="@android:color/colorPrimaryDark"
答案 1 :(得分:1)
最近我遇到使用问题 28.0.0-**库的
所以我建议你
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
并更改
compileSdkVersion 27
targetSdkVersion 27
浮动按钮示例
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
添加Dimesn
dimens.xml
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="fab_margin">16dp</dimen>
</resources>
我建议再次查看示例以获取更多权限 https://www.androidhive.info/2015/12/android-material-design-floating-action-button/
答案 2 :(得分:0)
第一个可绘制对象应位于正确的可绘制文件夹中,而不应位于mipmap
文件夹中。其次,看起来您正在使用的图像正在显示,但可能不是您想要的颜色。如果是这种情况,您可以使用android:tint="@color/section_arrowup_color"
在xml中进行着色,但这可能无法工作,具体取决于图像的格式。您也可以以编程方式着色,但效果可能相同。最后,您可以创建所需颜色的新图像资产。由于它是一个加号,因此您可以轻松地创建一个可绘制的矢量并在xml中设置颜色