当前正在学习如何构建Android应用,我的xml文件应该在布局预览中显示文本Sup doge
,但根本不显示文本。
现在我有一个问题,我需要不断地构建应用程序,以便当我应该在布局中查看它时,看到模拟器中的任何小的UI更改。
更新#1:
我尝试了 Invalidate Cache&Restart (无效的缓存并重新启动),该操作由@Khemraj建议并删除了约束属性。还删除了tools:text="@string/app_name"
部分,但其在布局预览中仍显示空白。在构建应用程序时,它仍然可以正常显示。
更新#2:
更新#3
以下是gradle文件夹文件:
HeadFirstProject01
文件
有人可以帮助我解决此问题吗?
解决方案:
由于Khenraj的回答,我使用的是不稳定的sdk版本,因此我不得不将其更新为以前的稳定版本,然后再次构建和同步gradle:
android {
compileSdkVersion 27 //previously was 28
defaultConfig {
applicationId "com.example.headfirstproject_01.headfirstproject_01"
minSdkVersion 14
targetSdkVersion 27 //previously was 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 'com.android.support:appcompat-v7:27.1.1' //previously was 28.0.0-rc02
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
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'
}
答案 0 :(得分:1)
布局预览不起作用。使用使缓存无效并重新启动以查看预览。
建议:
RelativeLayout
不支持约束属性。因此,请从TextView
中删除那些多余的约束属性。
更新
我看到许多与此相关的问题。答案并不适合所有人。
以下是几种解决方案:
答案 1 :(得分:0)
在您的xml中,您正在使用
tools:text="@string/app_name"
tools:text在我们使用设计器设计布局时非常有用。它的作用非常简单:仅在设计器的预览中操作而不是android:text。这意味着在预览中,您将看到在tools:text中指定的内容。这适用于以tools:开始的所有内容。例如,您还可以指定预览必须使用哪种布局来显示recyclerview的项目。我猜您的app_name字符串为空,这就是为什么您在预览中看不到任何内容的原因。
答案 2 :(得分:0)
如果您的Android Studio版本是3或3以上,则必须在styles.xml文件中进行一些更改。
您将在此处获得该父样式:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
根据以下内容进行更改:
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
我为此解决了同样的问题。