我们使用了浮动动作按钮,该按钮的行为是向上扩展,并在该浮动动作按钮下方显示了小吃栏消息。带有默认行为的“浮动操作按钮”中存在此行为,但是如果我们想在自定义视图中添加这种类型的行为。因此,在本文中,我们将介绍如何在Android中使用dodgeInsetEdges摆脱困境。
我们将在本文中构建什么?
我们将构建一个简单的可扩展视图,该视图将在Android中单击按钮时显示。下面给出了一个示例GIF,以了解我们将在本文中做些什么。注意,我们将使用Java语言实现该项目。
分步实施
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。
步骤2:使用activity_main.xml文件
导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码。
XML
Java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
public class MainActivity extends AppCompatActivity {
// creating a new variable for bottom sheet behaviour.
private BottomSheetBehavior bottomSheetBehavior;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initializing view for our bottom sheet below.
View bottomSheet = findViewById(R.id.bottom_sheet);
// initializing bottom sheet behaviour
// with our bottom sheet view.
bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
// initializing the button where we will
// be displaying our expanded view.
Button button = findViewById(R.id.button);
//adding on click listener to our button.
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// below line is use to expand our view on button click in android.
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
});
}
}
步骤3:使用MainActivity。 Java文件
转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。
Java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
public class MainActivity extends AppCompatActivity {
// creating a new variable for bottom sheet behaviour.
private BottomSheetBehavior bottomSheetBehavior;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initializing view for our bottom sheet below.
View bottomSheet = findViewById(R.id.bottom_sheet);
// initializing bottom sheet behaviour
// with our bottom sheet view.
bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
// initializing the button where we will
// be displaying our expanded view.
Button button = findViewById(R.id.button);
//adding on click listener to our button.
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// below line is use to expand our view on button click in android.
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
});
}
}
现在运行该应用程序,然后查看该应用程序的输出。
输出:
想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!