実際に開発を始めてハマったことの備忘録です。
今回はXAMLでDesignタブに、
レイアウトやらウィジェットやらを置いている時にハマった問題の備忘録です。
前提環境(バージョンとか)
Android Studio Version 3.1.4
Windows 10 HOME Version 1803, OS build 17134.228
ハマったこと
Designタブのpreviewにテキストボックスなどが表示されない
build.gradle(app)内のAndroid Appcompatというライブラリのバージョンが新しいと発生するバグらしい。
以下のサイトを参考に解決。多謝。
[エラー対策]レイアウトファイルでビューが表示されない・貼り付けできない場合の対処法
ちなみに上記サイトだとalph1なら治ると書いてあるが、
メモ時点(2018年8月20日現在)では治らなかった。
自分は安定版である27.1.1にしたら治った。
(ちなみにいまはrc1が最新になっているそうです)
RelativeLayoutがない問題
ネットで調べるとRelativeLayoutを使う例が多いんだけど、
IDEにRelativeLayoutが無い。
いろいろ調べてみるとRegacyタブにあった…。
気にしなければそのまま使えば良いんだろうけど、
せっかくなのでConstraintLayoutを使って開発することに。
画面右下に固定ボタンをおきたい
FloatingActionButtonを使う。
これをRelativeLayoutで実現したかったんだけどもっと簡単に出来た。
ちなみに画面上部に固定のボタンを置きたかったんだけど、
これはそのままボタンを置いて、
その下にScrollView置くことで実現した。
XMLで使用する色の指定
res/values/colors.xml内に定義すると使用できる。
こんな感じで書いとくと、
<color name="default_color">#FF4081</color>
この様に指定出来る。
android:textColor="@color/default_color"
Missing Constrains in ConstraintLayoutというメッセージ
このメッセージはConstraintLayoutを使用している時に、
Widget(ボタンとか)の配置を決定していないと出るメッセージみたい。
Designタブで位置をちゃんと指定してあげたら消えた。
MPAndroidChart使えない問題。
使い方をぐぐったらbuild.gradleに書けばOKということだったのだが、
そのとおりに書いたらエラーになった。
【エラー内容】
Could not find method compile() for arguments [com.github.PhilJay:MPAndroidChart:v2.1.5] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
公式の英語ドキュメントを見たら解決した。
つい日本語ドキュメントを求めちゃうけど、
ちゃんと公式の英語ドキュメントを見たまえって話ですね。
手順としては以下の通り。
-
Projectのbuild.gradleのdependenciesに以下を記載。
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
-
appのbuild.gradleのallprojects > repositories に以下を記載。
maven { url "https://jitpack.io" }
レイアウトしてみて
慣れてないというのがあるけど、
思ったより時間がかかったなぁという印象。
やっぱりネットの情報でも古くなっている場合が多くてハマる。
後半は順調に作業出来たので、
これに限らないけど導入の敷居を下げられるともっと楽できるのになーと思う。