setTextの文字が途中で切れてしまうとき
textView.setText()で設定した文字が途中で切れてしまうことがありました。
そんな時、
textView.setInputType(InputType.TYPE_CLASS_TEXT);
というように、textViewですが、InputTypeをTEXTにしてやったら解決することがあります。
理由は不明ですが・・・。
BACKボタンのイベントを取得する
BACKボタンのイベントを取得するには、Activity#onKeyDownを使用します。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
moveTaskToBack(true);
return super.onKeyDown(keyCode, event);
}else{
return super.onKeyDown(keyCode, event);
}
}
Androidでアプリを終了させる
Activity#moveTaskToBack (boolean nonRoot)
アプリケーション全体を終了する際の推奨される終了方法です。
アプリケーションを中断状態にします。
moveTaskToBack(true);
ナビゲーションバーに戻るボタンを付ける
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]で設定したスタイルを使用しています。