通常であれば、完成図(レイアウトファイル)はこのように表示されますが、
こんな感じになってしまって、画用紙上に
- 画面上部のバーが表示されない
- TextViewなどのビューも表示されない
- さらには、パレット(Palette)からビューを貼り付けることもできない
状況になってしまう場合があります。
あるいは、こんな感じになってしまう(Basic Activityの場合)。
この場合の対処法です。
もくじ
プロジェクト作成時にデフォルトでセットされるサポートライブラリのバージョンが原因ではないか
なぜ、このようなことが発生してしまうのかと言うと、プロジェクト作成時にデフォルトで設定されるサポートライブラリ(MainActivityの継承元であるAppCompatActivityを使うために必要)のバージョンが、
28.0.0-alpha3
となっているのですが、この記事を書いている2018年6月中旬時点での最新バージョンは
28.0.0-alpha1
となっており、「alpha3」が存在しない状態となっているのが原因ではないかと思われます。
これは、Google先生の公式リファレンスには何も記載されていないので、あくまで推測ですが。
【対策1】サポートライブラリのバージョンを存在しない「alpha3」から「alpha1」に変更する
ですので、このサポートライブラリのバージョンを、存在しないと思われる「28.0.0-alpha3」から、確実に存在している「28.0.0-alpha1」に変更してあげれば治ります。
アプリケーションレベル(モジュールレベル)のbuild.gradleファイルのdependenciesの部分を
これから
dependencies { ・・・・・・・・・ implementation 'com.android.support:appcompat-v7:28.0.0-
alpha3
' ・・・・・・・・・・ }
これに変更して、
dependencies {
・・・・・・・・・
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
・・・・・・・・・・
}
「Sync now」してあげると、レイアウトファイルが正しく表示されるようになります。
「Basic Activity(マテリアルデザインの標準テンプレート)」を使っている場合は、マテリアルデザインのライブラリも変更してあげる必要があるので、以下のような感じになります。
【対策2】安定版を使いたい場合は、「compileSdkVersion」と「targetSdkVersion」も変更する
「対策1」の場合は、プレビュー版ですので、思わぬところで不具合が生じる可能性があるため、安定版でやりたいという場合もあるかと思います。
その場合、この記事を書いている時点での安定版の最新版が「27.1.1」ですので、
「28.0.0-alpha3」を
dependencies { ・・・・・・・・・ implementation 'com.android.support:appcompat-v7:28.0.0-
alpha3
' ・・・・・・・・・・ }
「27.1.1」にすることに加えて、
dependencies { ・・・・・・・・・ implementation 'com.android.support:appcompat-v7:27.1.1' ・・・・・・・・・・ }
同じアプリケーションレベルの「build.gradle」ファイルの上の方にある
- compileSdkVersion
- targetSdkVersion
の数字も変更してあげる必要があります。
いずれにしろ、「alpha」とついたプレビュー版に起因する話ですので、一過性のものかと思われますが、レイアウトファイルのビューが表示されない・ビューの貼付けが出来ないというトラブルに見舞われてしまった場合は、一度この方法を試して頂けるといいかもしれません。
(詳しくは下の動画で解説していますので、よろしければご覧ください)