package com.hsjdow.gancm;

import android.os.Bundle;
import android.view.View;
import android.view.Menu;

import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.navigation.NavigationView;

import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.EditText;

import com.hsjdow.gancm.databinding.ActivityMainBinding;
import com.hsjdow.gancm.ui.home.HomeFragment;
import android.app.DatePickerDialog;
import android.content.DialogInterface;

public class MainActivity extends AppCompatActivity {

    private AppBarConfiguration mAppBarConfiguration;
    private ActivityMainBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());

        setSupportActionBar(binding.appBarMain.toolbar);
        binding.appBarMain.fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, '不知加什么.ing', Snackbar.LENGTH_LONG)
                        .setAction('Action', null).show();
            }
        });
        
        DrawerLayout drawer = binding.drawerLayout;
        NavigationView navigationView = binding.navView;
        
        // Passing each menu ID as a set of Ids because each
        // menu should be considered as top level destinations.
        mAppBarConfiguration = new AppBarConfiguration.Builder(
                R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow)
                .setOpenableLayout(drawer)
                .build();
        
        NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main);
        NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
        NavigationUI.setupWithNavController(navigationView, navController);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onSupportNavigateUp() {
        NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main);
        return NavigationUI.navigateUp(navController, mAppBarConfiguration)
                || super.onSupportNavigateUp();
    }
   public void dow_imgone(View view) {
        EditText editText = findViewById(R.id.edit_text);
        String inputText = editText.getText().toString();
        Snackbar.make(view, '输入框内容: ' + inputText, Snackbar.LENGTH_LONG)
                .setAction('Action', null).show();
    }
    
}

// 使用md3 弹窗申请存储权限内容:要在MainActivity的onCreate方法中添加申请存储权限的代码,可以使用AlertDialog或者PermissionUtils库来实现。

// 使用AlertDialog实现:
```java
import android.Manifest;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

public class MainActivity extends AppCompatActivity {

    private static final int PERMISSION_REQUEST_CODE = 123;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Check storage permission
        if (!checkStoragePermission()) {
            requestStoragePermission();
        }
    }

    // Check if storage permission is granted
    private boolean checkStoragePermission() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            int result = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
            return result == PackageManager.PERMISSION_GRANTED;
        } else {
            return true;
        }
    }

    // Request storage permission
    private void requestStoragePermission() {
        if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
            new AlertDialog.Builder(this)
                    .setTitle('Permission Required')
                    .setMessage('This app needs storage permission to function properly.')
                    .setPositiveButton('OK', new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
                        }
                    })
                    .setNegativeButton('Cancel', new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                        }
                    })
                    .create()
                    .show();
        } else {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
        }
    }

    // Handle permission request result
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == PERMISSION_REQUEST_CODE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // Permission granted
                Toast.makeText(this, 'Storage permission granted', Toast.LENGTH_SHORT).show();
            } else {
                // Permission denied
                Toast.makeText(this, 'Storage permission denied', Toast.LENGTH_SHORT).show();
            }
        }
    }

    public void dow_imgone(View view) {
        EditText editText = findViewById(R.id.edit_text);
        String inputText = editText.getText().toString();
        Snackbar.make(view, '输入框内容: ' + inputText, Snackbar.LENGTH_LONG)
                .setAction('Action', null).show();
    }
}

// 使用PermissionUtils库实现:

import android.Manifest;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.hjq.permissions.OnPermission;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
import com.google.android.material.snackbar.Snackbar;

import java.util.List;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Request storage permission
        XXPermissions.with(this)
                .permission(Permission.WRITE_EXTERNAL_STORAGE)
                .request(new OnPermission() {
                    @Override
                    public void hasPermission(List<String> granted, boolean all) {
                        if (all) {
                            // All permissions granted
                            Toast.makeText(MainActivity.this, 'Storage permission granted', Toast.LENGTH_SHORT).show();
                        } else {
                            // Some permissions denied
                            Toast.makeText(MainActivity.this, 'Some permissions denied', Toast.LENGTH_SHORT).show();
                        }
                    }

                    @Override
                    public void noPermission(List<String> denied, boolean never) {
                        if (never) {
                            // Some permissions denied and never ask again
                            Toast.makeText(MainActivity.this, 'Some permissions denied and never ask again', Toast.LENGTH_SHORT).show();
                        } else {
                            // Some permissions denied
                            Toast.makeText(MainActivity.this, 'Some permissions denied', Toast.LENGTH_SHORT).show();
                        }
                    }
                });
    }

    public void dow_imgone(View view) {
        EditText editText = findViewById(R.id.edit_text);
        String inputText = editText.getText().toString();
        Snackbar.make(view, '输入框内容: ' + inputText, Snackbar.LENGTH_LONG)
                .setAction('Action', null).show();
    }
}

请注意,使用PermissionUtils库需要添加以下依赖项:

implementation 'com.hjq:xxpermissions:10.0'
Android App: 使用DrawerLayout 和 NavigationView 实现侧边栏菜单

原文地址: https://www.cveoy.top/t/topic/iDVN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录