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
Android Studio androidx.coordinatorlayout error and how to set up 3Dot Menu?
提问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
编辑此部分
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