小编Kya*_*ant的帖子

recyclerView 的最后一行是否可以包含与其他项目不同的自定义项目?

我有一个带有订单列表的布局,最后一行是这些订单的总价格。我不知道如何在回收器视图中将这些列表项和最后一行与我想要的自定义项一起完成。我在 onBindViewHolder 中做一些逻辑吗?或者,它是否有另一种方式,即 RecyclerView 方法之一?

android android-layout android-recyclerview

7
推荐指数
1
解决办法
1647
查看次数

如何自定义 Material Icon Button Padding?

我的场景

我想使用带有固定图标(矢量可绘制)的材质图标按钮 _ 表示没有填充。我使用了谷歌材料:

implementation 'com.google.android.material:material:1.0.0'

这是我的布局

 <com.google.android.material.button.MaterialButton

        android:id="@+id/btnLinkin"
        style="@style/AppIconButton"

        app:icon="@drawable/ic_linkedin"
        app:iconTintMode="screen"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_marginEnd="8dp"
        app:layout_constraintEnd_toStartOf="@+id/btnGoogle"
        android:layout_marginRight="8dp"
        app:layout_constraintStart_toEndOf="@+id/btnFacebook"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginBottom="16dp"
        app:layout_constraintBottom_toTopOf="@+id/tvHave"/>
Run Code Online (Sandbox Code Playgroud)

这是我的风格

 <style name="AppIconButton" parent="Widget.MaterialComponents.Button.OutlinedButton.Icon">
    <item name="rippleColor">@color/colorSecondary</item>
    <item name="strokeColor">@android:color/transparent</item>
    <item name="iconTint">@android:color/transparent</item>
    <item name="android:gravity">center</item>
Run Code Online (Sandbox Code Playgroud)

这是材料组件的样式

<style name="Widget.MaterialComponents.Button.OutlinedButton.Icon">
    <item name="android:paddingLeft">@dimen/mtrl_btn_icon_btn_padding_left</item>
    <item name="android:paddingRight">@dimen/mtrl_btn_icon_btn_padding_left</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这是材料组件的尺寸

<dimen name="mtrl_btn_icon_padding">0dp</dimen>
<dimen name="mtrl_btn_icon_btn_padding">0dp</dimen>
<dimen name="mtrl_btn_icon_btn_padding_left">0dp</dimen>
Run Code Online (Sandbox Code Playgroud)

但这些不能让我成为我真正想要的。结果是没有左填充的材质图标按钮,但右默认填充(14dp)如下:

在此处输入图片说明

请节省我的时间或指南以了解我如何真正理解这些概念。

android-layout android-studio material-design

6
推荐指数
1
解决办法
1992
查看次数

自定义底部工作表对话框的视图

我只想得到BottomSheetDialog如下内容:系统窗口中的边距。我怎么会变成这样?

在此处输入图片说明

android android-layout android-bottomsheetdialog

5
推荐指数
1
解决办法
1万
查看次数

我怎么知道房间的@Insert 已完成?

我的场景

我使用 Coroutines 和 Room 来保存我的应用程序的用户配置文件数据。我有 CompleteProfileActivity :在那个用户填写他们的信息并确认它(确认按钮)。我将它们发送到服务器并观察响应。如果响应成功。我将它们保存到我的 ProfileDatabase。

我的问题 我如何知道我的数据库已更新或我的插入已完成,我的删除不是通过获取大小来完成的?@Insert @Delete 是无效的返回方法。那么除了数据库大小我怎么知道呢?

@Dao
interface ProfileDao {
@Insert(onConflict = OnConflictStrategy.IGNORE)
fun saveProfile(model:Profile)

@Query("SELECT * FROM profile_table")
fun getProfile():Deferred<Profile>
}
Run Code Online (Sandbox Code Playgroud)

kotlin android-room kotlinx.coroutines

3
推荐指数
1
解决办法
3818
查看次数

如何自定义 Material Bottom App Bar 中的视图?

我正在我的应用程序中设置 Material Bottom App Bar,一切正常。根据文档,我可以设置菜单、Fab 和底部应用栏的一些行为。但我的问题是如何自定义底部应用栏布局中的视图?下面是我的布局 xml。

 <?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
        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:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fitsSystemWindows="true">

        <androidx.appcompat.widget.Toolbar
                app:titleTextAppearance="@style/AppToolbarAppearance.Main"
                android:background="@color/colorPrimary"
                android:id="@+id/toolbar"
                app:titleTextColor="@android:color/white"
                app:title="Job Detail"
                app:navigationIcon="@drawable/ic_material_left_white"
                android:layout_width="match_parent"
                app:layout_scrollFlags="scroll|enterAlways"
                android:layout_height="?attr/actionBarSize"
        />

    </com.google.android.material.appbar.AppBarLayout>

    <include layout="@layout/layout_job_detail"
             android:id="@+id/main_layout"
             android:layout_width="match_parent"
             android:layout_height="match_parent"/>

    <com.google.android.material.bottomappbar.BottomAppBar
            tools:backgroundTint="@color/colorPrimary"

            app:fabCradleVerticalOffset="8dp"
            app:fabCradleRoundedCornerRadius="8dp"
            app:fabAlignmentMode="end"
            app:fabCradleMargin="4dp"

            style="@style/bottom_bar"
            android:layout_width="match_parent"
            android:layout_gravity="bottom"
            app:backgroundTint="@color/grey_100"
            app:hideOnScroll="true"
            android:id="@+id/bottomappbar"
            android:layout_height="?attr/actionBarSize"/>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
            app:srcCompat="@drawable/ic_star_solid"
            app:fabSize="normal"
            app:layout_anchor="@id/bottomappbar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
    />

</androidx.coordinatorlayout.widget.CoordinatorLayout> 
Run Code Online (Sandbox Code Playgroud)

我真正想做的是如下图所示在此输入图像描述

我只想在底部应用栏中执行左侧的“应用”按钮和右侧的两个菜单。

android android-layout

1
推荐指数
1
解决办法
2904
查看次数