📜  如何使用Android中的dodgeInsetEdges移开视图?

📅  最后修改于: 2021-05-10 17:04:59             🧑  作者: Mango

我们使用了浮动动作按钮,该按钮的行为是向上扩展,并在该浮动动作按钮下方显示了小吃栏消息。带有默认行为的“浮动操作按钮”中存在此行为,但是如果我们想在自定义视图中添加这种类型的行为。因此,在本文中,我们将介绍如何在Android中使用dodgeInsetEdges摆脱困境。

我们将在本文中构建什么?

我们将构建一个简单的可扩展视图,该视图将在Android中单击按钮时显示。下面给出了一个示例GIF,以了解我们将在本文中做些什么。注意,我们将使用Java语言实现该项目。

使用Android示例GIF中的dodgeInsetEdges将视图移开

分步实施

步骤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的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!