Java Android Studio androidx.coordinatorlayout 错误以及如何设置 3Dot 菜单?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/52229214/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-11 00:22:32  来源:igfitidea点击:

Android Studio androidx.coordinatorlayout error and how to set up 3Dot Menu?

javaandroidgradleandroid-gradle-pluginbuild.gradle

提问by Time Labs Media

I have the following problem. My android studio is showing the error, which is alredy written in the title Screenshot. I was trying to implement the nice 3 dot menu in the top right corner. Would be very nice if someone could tell me what the issue is...

我有以下问题。我的 android studio 显示错误,它已经写在标题Screenshot 中。我试图在右上角实现漂亮的 3 点菜单。如果有人能告诉我问题是什么,那就太好了...

The error im getting when trying to gradle is:

尝试 gradle 时遇到的错误是:

C:\Users\User\AndroidStudioProjects\BluetoothCar\app\src\main\java\com\car\bluetooth\bluetoothcar\MainActivity.java:11: error: package android.support.design.widget does not exist import android.support.design.widget.AppBarLayout;

C:\Users\User\AndroidStudioProjects\BluetoothCar\app\src\main\java\com\car\bluetooth\bluetoothcar\MainActivity.java:11: error: package android.support.design.widget does not exist import android.support.design.widget.AppBarLayout;

C:\Users\User\AndroidStudioProjects\BluetoothCar\app\src\main\java\com\car\bluetooth\bluetoothcar\MainActivity.java:12: error: package android.support.v7.widget does not exist import android.support.v7.widget.Toolbar;

C:\Users\User\AndroidStudioProjects\BluetoothCar\app\src\main\java\com\car\bluetooth\bluetoothcar\MainActivity.java:12: error: package android.support.v7.widget does not exist import android.support.v7.widget.Toolbar;

I already tried to import the v7.widget.toolbar, but it marks the v7 red and says cant resolve symbol.

我已经尝试导入 v7.widget.toolbar,但它将 v7 标记为红色并表示无法解析符号。

MainActivity.java :

主活动.java :

package com.car.bluetooth.bluetoothcar;

import android.os.Bundle;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import android.support.design.widget.AppBarLayout;
import android.support.v7.widget.Toolbar;

import android.util.Log;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.SeekBar;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

//SeekBars

private SeekBar seekBarGas;
private TextView textViewGas;

private SeekBar seekBarSteering;
private TextView textViewSteering;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);


    seekBarGas = (SeekBar) findViewById(R.id.seekBarGas);
    textViewGas = (TextView) findViewById(R.id.textViewGas);
    seekBarGas.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            textViewGas.setText(progress + "  /  " + seekBarGas.getMax());
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            seekBarGas.setProgress(0);
        }
    });

    seekBarSteering = (SeekBar) findViewById(R.id.seekBarSteering);
    textViewSteering = (TextView) findViewById(R.id.textViewSteering);
    seekBarSteering.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            textViewSteering.setText(progress + "  /  " + seekBarSteering.getMax());
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            seekBarSteering.setProgress(3);
        }
    });








}

}

content_main.xml :

content_main.xml :

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
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:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".MainActivity"
tools:showIn="@layout/activity_main">

<SeekBar
    android:id="@+id/seekBarGas"
    android:layout_width="237dp"
    android:layout_height="117dp"
    android:layout_marginStart="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginBottom="8dp"
    android:max="5"
    android:progress="0"
    android:rotation="-90"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/gas_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="28dp"
    android:layout_marginLeft="28dp"
    android:layout_marginTop="8dp"
    android:layout_marginBottom="8dp"
    android:text="Gas"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="@+id/seekBarGas"
    app:layout_constraintTop_toTopOf="parent"
    tools:textColor="@android:color/background_dark" />

<TextView
    android:id="@+id/textViewGas"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="32dp"
    android:layout_marginLeft="32dp"
    android:layout_marginTop="8dp"
    android:layout_marginBottom="8dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/gas_text"
    app:layout_constraintVertical_bias="0.0"
    tools:textColor="@android:color/background_dark" />

<SeekBar
    android:id="@+id/seekBarSteering"
    android:layout_width="199dp"
    android:layout_height="106dp"
    android:layout_marginStart="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="4dp"
    android:max="6"
    android:progress="3"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="parent" />

<TextView
    android:id="@+id/steeringText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginTop="160dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:text="Lenkung"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.86"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    tools:textColor="@android:color/background_dark" />

<TextView
    android:id="@+id/textViewSteering"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="88dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.842"
    app:layout_constraintStart_toStartOf="parent"
    tools:textColor="@android:color/background_dark" />

activity_main.xml :

活动_main.xml :

<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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_main" />

AndroidManifest.xml

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.car.bluetooth.bluetoothcar">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Build.grade (App)

Build.grade(应用程序)

apply plugin: 'com.android.application'

android {
compileSdkVersion 27
defaultConfig {
    applicationId "com.car.bluetooth.bluetoothcar"
    minSdkVersion 15
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'android.arch.navigation:navigation-fragment:1.0.0-alpha05'
implementation 'android.arch.navigation:navigation-ui:1.0.0-alpha05'

testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

Error:

错误:

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Android resource linking failed
  C:\Users\User\.gradle\caches\transforms-1\files-1.1\appcompat-1.0.0- 
rc01.aar\f57a72ca523e97bfd49e26fe0ca995bd\res\values-v28\values-v28.xml:9:5- 
   12:13: AAPT: error: resource android:attr/dialogCornerRadius not found.

C:\Users\User\AndroidStudioProjects\BluetoothCar\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:11: AAPT: error: resource android:attr/dialogCornerRadius not found.

C:\Users\User\AndroidStudioProjects\BluetoothCar\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:11: AAPT: 错误: 资源 android:attr/dialogCornerRadius 未找到。

 C:\Users\User\.gradle\caches\transforms-1\files-1.1\material-1.0.0-rc01.aar65e838ec45d5f110381d4afe9056c6\res\values\values.xml:161:5-202: AAPT: error: resource android:attr/fontVariationSettings not found.

  C:\Users\User\.gradle\caches\transforms-1\files-1.1\material-1.0.0-rc01.aar65e838ec45d5f110381d4afe9056c6\res\values\values.xml:161:5-202: AAPT: error: resource android:attr/ttcIndex not found.

  error: failed linking references.

采纳答案by Sana

This will solve your first issue with coordinateLayout

这将解决您与坐标布局的第一个问题

implementation 'com.android.support:design:27.1.1'

Add this dependency to your app.gradle file

将此依赖项添加到您的 app.gradle 文件中

And this will also solve your issue with AppBarLayout

这也将解决您的 AppBarLayout 问题

As the errors are clearly saying that you do not have the design package,

由于错误清楚地表明您没有设计包,

C:\Users\User\AndroidStudioProjects\BluetoothCar\app\src\main\java\com\car\bluetooth\bluetoothcar\MainActivity.java:11: error: **package android.support.design.widget does not exist**
import android.support.design.widget.AppBarLayout;

C:\Users\User\AndroidStudioProjects\BluetoothCar\app\src\main\java\com\car\bluetooth\bluetoothcar\MainActivity.java:12: error: **package android.support.v7.widget does not exist**
import android.support.v7.widget.Toolbar;

Edit:

编辑:

Edit this portion

编辑此部分

enter image description here

在此处输入图片说明

with

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'android.arch.navigation:navigation-fragment:1.0.0-alpha05'
implementation 'android.arch.navigation:navigation-ui:1.0.0-alpha05'

testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

There is a duplicate of appcompat and the other dependecies are not looking good with versions.

有一个 appcompat 副本,其他依赖项在版本中看起来不太好。

回答by mayank1513

For androidx use following dependency

对于 androidx 使用以下依赖项

dependencies {
    implementation "androidx.coordinatorlayout:coordinatorlayout:1.1.0"
}

Ref - https://developer.android.com/jetpack/androidx/releases/coordinatorlayout

参考 - https://developer.android.com/jetpack/androidx/releases/coordinatorlayout