我有一个带有订单列表的布局,最后一行是这些订单的总价格。我不知道如何在回收器视图中将这些列表项和最后一行与我想要的自定义项一起完成。我在 onBindViewHolder 中做一些逻辑吗?或者,它是否有另一种方式,即 RecyclerView 方法之一?
我想使用带有固定图标(矢量可绘制)的材质图标按钮 _ 表示没有填充。我使用了谷歌材料:
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)如下:
请节省我的时间或指南以了解我如何真正理解这些概念。
我的场景
我使用 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) 我正在我的应用程序中设置 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)
我只想在底部应用栏中执行左侧的“应用”按钮和右侧的两个菜单。