LoginSignup
0
0

More than 1 year has passed since last update.

Androidのベースプログラム作成時のリソースの使い方について

Posted at

はじめに

Android開発で毎回ベースプログラムが安定せず、自分のように毎回プログラムの記述を変えてしまう自分のような人に読んでほしい。

目的

Android開発は基本的にKotlin言語で開発しており、コーディング規約等は存在しているのですがリソースやメソッド等の記述についての決まり事が少なく。
毎回別人が開発したようなプログラムとなってしまうのを防止したい。

前提

AndroidStudioのVersionUPにより、ベースプログラムを作成して毎回同じリソースやプログラムを使い回しする事は難しいと思われるので、記述方法のみを参考にして毎回最新のAndroidStudioのVersionで新規作成するようにしましょう!!

colors.xml

色情報を管理する為のXMLファイル。
base_** : 画面設計書等で指定されているカラーコードを記載
text_color_white : 色情報を直接使用するのではなく、base_**の色リソースを使用する

colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- 基本的な色情報 -->
    <color name="base_color_white">#FFFFFF</color>

    <!-- レイアウト等に仕様するリソース -->
    <color name="text_color_white">@color/base_color_white</color>
</resources>

上記のように直接カラーコードを記載させない事で、ある程度の決まりを維持する事が可能に・・・・なるかも。。。。

dimens.xml

サイズ情報を管理する為のXMLファイル。
sp** : 画面設計書等で指定されているサイズを指定(リソース情報が数字で開始出来ない為、spと16を入れ替えしている。。。。)
text_size_big : サイズ情報を直接指定するのではなく、sp**のサイズリソースを使用する

dimen.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- 基本的なサイズ情報 -->
    <dimen name="sp16">16sp</color>

    <!-- レイアウト等に仕様するリソース -->
    <dimen name="text_size_big">@dimen/sp16</color>
</resources>

こちらに関しては、正直微妙な気がする。
サイズに関しては、dimen.xmlで指定サイズのみ利用可能にするのではなく、styleを充実させ、そちらで各サイズがボタンやテキストしか利用出来ないようにした方がいいかもしれない。。。

styles.xml

テキストやボタン等のレイアウト情報を格納するファイル
基本ここで仕様的な共通情報を登録し、どの画面でも共通したレイアウトが作成出来るようにする。
個人的にこのファイルが一番重要だと感じてます。複数人数で開発する際には最初にほぼ全て情報を入力し、更新が無いようにすれば誰がレイアウトを作成しても同じようなレイアウトが作成出来て、尚且つ修正も簡単になるかと。

styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Base.Button" parent="Widget.AppCompat.Button.Borderless">
        <item name="android:textSize">@dimen/text_size_big</item>
        <item name="android:background">@drawable/noborder_button</item>
    </style>
</resources>

PR

エンジニアとして一緒に働きませんか!!
創業から3年が経ち、成長段階の弊社ですが、1人の裁量が大きいためスキルを身につけやすい環境です。
フレックス出勤やリモートワークも取り入れ、エンジニアにとって働きやすい制度も整っております。
このように、自分らしい働き方を見つけながら、さまざまなことに挑戦し、成長していきたいエンジニアを絶賛募集中です!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0