Android Studio 3.1.3 存在约束布局问题
Android Studio 3.1.3 having issues with Constraint layout
我正在尝试在这里开始一个新项目,但出现了这个问题。我可以 运行 项目并将其部署在模拟器中,但是这个渲染问题和使用私有资源让我很不爽。我已经尝试了所有在互联网上找到的可能的解决方案,但还是无法解决问题
<?xml version="1.0" encoding="utf
<android.support.constraint.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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</android.support.constraint.ConstraintLayout>
风格
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
Build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.acer.myapplication3"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:28.0.0-alpha3'
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'
}
有同样的问题 - 转到 SDK 管理器并安装了其他 SDK 平台;奥利奥 8.1。看来问题是 'new' API 28 仍然有问题。它说部分安装,但我基本上只是检查了较低 API 的框,它 downloaded/installed:
此外,我更改了 build.gradle 文件的 SDK 版本、buildTools、appcompat 和设计版本,如下所示。它现在有效,我将在稍后解决这些问题后返回 API 28。
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 27
...
dependencies {
implementation 'com.android.support:appcompat-v7:27.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:design:27.0.0'
}
确保在 设置 > gradle, 中取消选中 离线 选项然后
连接到网络时再次同步项目
尝试使用这个:
dependencies {
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.1'
}
而不是 constraint-layout:1.1.2
。
这解决了我的问题。
在'Theme.AppCompat.Light.DarkActionBar'之前添加'Base.'
在 styles.xml 中。
为我工作。
- 在左侧,点击应用。
- 然后,打开res文件夹。
- 打开值文件夹。
- 单击 'styles.xml' 文件夹。
- 将父变量更改为 "Base.Theme.AppCompact.Light.DarkActionBar"
您只需更改 build.gradle
文件的依赖项部分的以下代码:
发件人:
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.android.support:design:28.0.0-rc02'
收件人:
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
implementation 'com.android.support:design:28.0.0-alpha1'
然后同步您的项目。
我遇到了同样的问题。对我来说,原因是我的项目“Automatically convert third-party libraries to use AndroidXhas”。看看你的问题和我的一样吗?请简单地按照描述的两个步骤 。
让它变得简单:
第一步:
请检查您的 gradle.properties,如果您看到以下几行,您可能遇到与我完全相同的问题。您可以先删除它们。
android.useAndroidX=true
android.enableJetifier=true
第 2 步:在主要 activity 中,我更改了
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
进入
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
突然之间一切正常!
我正在尝试在这里开始一个新项目,但出现了这个问题。我可以 运行 项目并将其部署在模拟器中,但是这个渲染问题和使用私有资源让我很不爽。我已经尝试了所有在互联网上找到的可能的解决方案,但还是无法解决问题
<?xml version="1.0" encoding="utf
<android.support.constraint.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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</android.support.constraint.ConstraintLayout>
风格
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
Build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.acer.myapplication3"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:28.0.0-alpha3'
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'
}
有同样的问题 - 转到 SDK 管理器并安装了其他 SDK 平台;奥利奥 8.1。看来问题是 'new' API 28 仍然有问题。它说部分安装,但我基本上只是检查了较低 API 的框,它 downloaded/installed:
此外,我更改了 build.gradle 文件的 SDK 版本、buildTools、appcompat 和设计版本,如下所示。它现在有效,我将在稍后解决这些问题后返回 API 28。
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 27
...
dependencies {
implementation 'com.android.support:appcompat-v7:27.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:design:27.0.0'
}
确保在 设置 > gradle, 中取消选中 离线 选项然后 连接到网络时再次同步项目
尝试使用这个:
dependencies {
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.1'
}
而不是 constraint-layout:1.1.2
。
这解决了我的问题。
在'Theme.AppCompat.Light.DarkActionBar'之前添加'Base.' 在 styles.xml 中。 为我工作。
- 在左侧,点击应用。
- 然后,打开res文件夹。
- 打开值文件夹。
- 单击 'styles.xml' 文件夹。
- 将父变量更改为 "Base.Theme.AppCompact.Light.DarkActionBar"
您只需更改 build.gradle
文件的依赖项部分的以下代码:
发件人:
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.android.support:design:28.0.0-rc02'
收件人:
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
implementation 'com.android.support:design:28.0.0-alpha1'
然后同步您的项目。
我遇到了同样的问题。对我来说,原因是我的项目“Automatically convert third-party libraries to use AndroidXhas”。看看你的问题和我的一样吗?请简单地按照描述的两个步骤
让它变得简单:
第一步: 请检查您的 gradle.properties,如果您看到以下几行,您可能遇到与我完全相同的问题。您可以先删除它们。
android.useAndroidX=true
android.enableJetifier=true
第 2 步:在主要 activity 中,我更改了
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
进入
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
突然之间一切正常!