Little Strange Software

スマホアプリの開発を行う LittleStrangeSoftware のブログです。

Androidアプリ開発初心者がkotlinでカラーピッカーを作ってみるよ! その6

 どうも!LSSです!!

 

 日中はまだまだ暑いですが、夜になると結構すずしい、そんな季節になりましたね。

と、とってつけた時候の挨拶はさておき、カラーピッカーの続き、やっていきますよ!

 今回はTableLayoutの使用と、SHAPEによる角丸の枠を作る、てな事をやっていきます。

f:id:little_strange:20191012094146p:plain

↑目指すのはこういうデザインです!

 

 

またxmlの編集になります

 AndroidStudioの全容をいまだ理解していないため、xmlデザインだけでも日々新たな発見があるなーと思う今日この頃です。

f:id:little_strange:20190925222238p:plain

 

 この画面ですね。

 まず「app」をクリックして青い選択状態にします。
 で、次に左上にある「File」をクリックして開き、一番上にある「New」にマウスカーソルを乗せると右にずらずらっと出てくる中から、「AndroidResourceFile」をクリックします。

f:id:little_strange:20190925222829p:plain

 

↑これですね。

 最初に「app」を選んでおかないと、出てくる候補が違うものになるっぽいです。

で、AndroidResourceFileをクリックすると、↓のようなダイアログが出てきます。

f:id:little_strange:20190925223059p:plain

 このダイアログ内の項目のうち、「File name」「Resource type」「Root element」を触ります。

 あ、言ってませんでしたが、今、レイアウトを角丸にするためのSHAPE記述xmlを作ろうとしています。
 なので、File nameは「kadomaru」とでもしておきます。(任意の文字列)

 

 次に、Resource typeの右の▼をクリックして…

f:id:little_strange:20190925223733p:plain

出てくる候補の中から「Drawable」をクリックします。

 

f:id:little_strange:20190925223845p:plain

「Root element」は、手打ちで「shape」と入力します。

 

 そうして、ダイアログ右下の「OK」を押します。

f:id:little_strange:20190925224147p:plain

 すると、まず右のほうに「kadomaru.xml」が生成され、またそのkadomaru.xmlの編集画面が勝手に開かれた状態(右)になります。

 右の画面には最初からshapeタグが書かれています。

 

kadomaru.xmlの中身、編集していきます!

f:id:little_strange:20190925224745p:plain

↑のように、shapeタグ行の最後、"と>の間にカーソルを合わせ、スペースキーを一回叩くと、android:なんとか~って候補が色々でてきます。

 今回は「android:shape」をクリックします。すると…

f:id:little_strange:20190925225008p:plain

 続けて、こんな候補が出てきます。

 こちらは「rentangle」を選択します。

f:id:little_strange:20190925225125p:plain

 それだけで、↑のようにshapeタグが完成します。

 あとは、<shape~の行と、</shape>の行の間に以下の2行を追記します。

 

<corners android:radius="6dp"/>
<solid android:color="#80FFFFFF"/>
 

 結果、↓のような画面になります。

f:id:little_strange:20190925225644p:plain

 

 ここまでで、kadomaru.xmlの編集は完成です。

 shapeタグに追記した「android:shape="rectangle"」は「四角形」である事を宣言、solidは四角形の背景色を設定しています。

 以前、#で始まる色の設定の説明は6桁でしたが、今回は8桁になっています。
 8桁で指定した場合は、最初の2桁は「透明度」という事になり、「80」で50%の透明度になります。あとの6桁は6桁で指定した時と同じで、赤・緑・青です。
 今回は全部「FF」にしているので「白」になり、「半透明の白」って色を指定している事になります。

 

 

完成したxmlの内容

 kadomaru.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">

<corners android:radius="6dp"/>
<solid android:color="#80FFFFFF"/>
</shape>

 

 

続けて、メイン画面のデザイン!

f:id:little_strange:20190925230905p:plain

 左上の「activity_main.xml」をクリックして、メイン画面の編集に戻します。

 

f:id:little_strange:20190925231334p:plain

「Layout」「LinearLayout(vertical)」の順に選択してから、「LinearLayout(vertical)」をドラッグアンドドロップで下のほうに持っていきます。

 持っていく先は、「Component Tree」の中で、↑の画面のように「LL0」から青い点線が出てくる場所、で、ドロップします。

 

f:id:little_strange:20190925232320p:plain

 次に、今、設置したLinearLayoutが青い選択状態になったまま、画面右のAttributes内の「gravity」という項目を探し、旗のマークをクリックします。

 

f:id:little_strange:20190925232645p:plain

 出てきたダイアログから「bottom」と「center_horizontal」の2か所にチェックを入れて、「Apply」ボタンを押します。

 

TableLayoutを使ってみる!

 

 今度は、今作ったLinearLayoutの中に、TableLayoutをつっこんでみます。

f:id:little_strange:20190925233254p:plain

 TableLayoutを↑のようにドラッグアンドドロップします。

 そして…

f:id:little_strange:20190925233619p:plain

 設置したTableLayoutが選択された状態で、画面右のAttributesから「background」という項目を探します。

 そしてそこに「@」と打つと…

f:id:little_strange:20190925233845p:plain

 先ほど作ったばかりの「@drawable/kadomaru」があるので、それを選択!!

 

 続けて、「layout_height」を「wrap_content」に、

f:id:little_strange:20190925234341p:plain

「layout_margin」の▶をクリックして、

f:id:little_strange:20190925234512p:plain

いくつかの行が出てきますが、「layout_margin」に「10dp」と入れておきます。

f:id:little_strange:20190925234634p:plain

 

 さて、また画面左に移って、

f:id:little_strange:20190925235035p:plain

今度は、TableLayoutの▶をクリックします。

 すると、

f:id:little_strange:20190925235139p:plain

実は最初から作られていた、TableRowがいくつか姿を現します。

 

 そこで、上の「Buttons」「Button」をドラッグアンドドロップで、

f:id:little_strange:20190925235319p:plain

TableRowの中にドロップします。

f:id:little_strange:20190925235531p:plain

 結果、こんな画面になります。

 

…というところで、はなはだ中途半端ではありますが、次回に続きます!!