📌  相关文章
📜  带有示例的Android中的Material Design按钮(1)

📅  最后修改于: 2023-12-03 14:54:05.726000             🧑  作者: Mango

带有示例的Android中的Material Design按钮

Material Design是Google在2014年提出的一套UI设计标准,为了提供更好的用户体验和更具美感的界面,Material Design引入了各种新的设计元素和交互方式。其中,Material Design按钮是非常重要的一部分,本文将介绍Android中如何使用Material Design按钮以及一些示例。

Android中使用Material Design按钮

在Android中使用Material Design按钮非常简单,只需要遵循以下步骤:

  1. 在build.gradle文件中引入Material Design库:

    implementation 'com.google.android.material:material:1.2.1'
    
  2. 在XML布局文件中添加Material Design按钮:

    <com.google.android.material.button.MaterialButton
        android:id="@+id/btn_material_design"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Material Design Button" />
    
  3. 在Java代码中注册按钮点击事件:

    MaterialButton button = findViewById(R.id.btn_material_design);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // 处理按钮点击事件
        }
    });
    
Material Design按钮示例

接下来,我们将展示三种不同样式的Material Design按钮示例。

带圆角和阴影的按钮
<com.google.android.material.button.MaterialButton
    android:id="@+id/btn_round_corners"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Round Corners Button"
    android:backgroundTint="@color/purple_200"
    app:cornerRadius="16dp"
    app:elevation="4dp" />

效果如下:

Round Corners Button

带Icon的按钮
<com.google.android.material.button.MaterialButton
    android:id="@+id/btn_icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Icon Button"
    android:backgroundTint="@color/purple_200"
    android:drawableStart="@drawable/ic_add"
    app:iconGravity="textStart"
    app:iconPadding="8dp" />

效果如下:

Icon Button

带Loading动画的按钮
<com.google.android.material.button.MaterialButton
    android:id="@+id/btn_loading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Loading Button"
    android:backgroundTint="@color/purple_200"
    app:cornerRadius="50dp"
    app:icon="@drawable/ic_baseline_sync_24"
    app:iconPadding="8dp"
    app:iconTint="@color/white"
    app:strokeWidth="2dp" />

通过动态设置按钮的进度条来实现Loading按钮的效果,Java代码如下:

MaterialButton button = findViewById(R.id.btn_loading);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        button.setIconResource(R.drawable.ic_baseline_sync_24);
        button.setIconTintResource(R.color.transparent);
        button.setIndeterminate(true);
        button.setEnabled(false);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                button.setIconTintResource(R.color.white);
                button.setIndeterminate(false);
                button.setEnabled(true);
            }
        }, 5000);
    }
});

效果如下:

Loading Button

至此,我们介绍了Android中如何使用Material Design按钮并展示了三个不同样式的示例。通过这些示例,我们可以发现Material Design按钮比原生Android的默认按钮更加美观、现代化,也更容易实现各种炫酷的效果。