ともちゃんのアプリ開発日記

組込みC言語プログラマだったともちゃんが、四苦八苦しながら、AndroidのJAVA/Kotlin、iOSのSwiftUIを習得して行きます。ともちゃんの備忘録も兼ねています。

ナビゲーションバーに戻るボタンを付ける

ActionBarに戻るボタンを設置する。

 

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

戻るボタンを押したときのイベントはActivity#onOptionsItemSelected()で行う。

@Override
public boolean onOptionsItemSelected(MenuItem item) {

switch(item.getItemId()) {
case android.R.id.home:
finish();
return true;
}
return super.onOptionsItemSelected(item);
}

 

Viewの下位のViewのデータを参照する

Viewの下位のViewのデータを参照する方法です。

ViewGroup viewGroup = (ViewGroup) view;
int viewCount = viewGroup.getChildCount();
if (viewCount > 0) {
TextView childView=(TextView) viewGroup.getChildAt(0);
String strDate = childView.getText().toString();
}

 

viewをViewGroupとしてタイプキャストし、1つ目の子供のViewを

  viewGroup.getChildAt(0)

で参照しています。

 

EditTextの下線の色を変える

EditTextの下線の色を変える。

 

[1] Styles.xml

<resources>
<style name="EditTextColorControl">
<item name="colorControlNormal">@color/colorUnderLineNormal</item>
<item name="colorControlActivated">@color/colorUnderLineActivated</item>
</style>
</resources>

 

colorControlNormal:通常時の色

colorControlActivated:フォーカスが当たった時の色

 

[2] colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorUnderLineNormal">#C0C0C0</color>
<color name="colorUnderLineActivated">#FF4081</color>
</resources>

 

 

[3] レイアウトのxml

<EditText
android:layout_width="match_parent"
android:layout_height="100dp"
android:inputType="textMultiLine"
android:ems="10"
android:id="@+id/editTextMailText"
android:textAppearance="?android:attr/textAppearanceSmall"
android:gravity="top|start"
android:theme="@style/EditTextColorControl"/>

 

 android:themeで[1]で設定したスタイルを使用しています。