Android 画面回転時にActivityを再生成させない

Android

Android 画面回転時にActivityを再生成させない

とても簡単な話で

 android:configChanges="orientation|screenSize"

とつければよいです。

 <activity
      android:name=".VideoActivity"
      android:label="@string/app_name"
      android:configChanges="orientation|screenSize" >

Android 画面を透明にし、タイトルバーを非表示にする

Android

AndroidManifest.xmlのActivityの宣言で

 "@android:style/Theme.Translucent.NoTitleBar"

とつけるだけで、ボタンなどが浮かんで見えるような画面が作れます!

とってもカンタンだ!

 <activity
      android:name=".OfferReceivedActivity"
      android:label="@string/message_received" 
      android:theme="@android:style/Theme.Translucent.NoTitleBar">
 </activity>

Android 画面の要素をプログラムで表示・非表示を切り替える

Android

Android 画面の要素をプログラムで表示・非表示を切り替える

たとえば、deleteButtonというボタンをある時は見せたくない場合は、下記のようにsetVisibilityに4を指定します。

 private static final int INVISIBLE = 4;
 Button deleteButton = (Button) findViewById(R.id.acount_delete);
 deleteButton.setVisibility(INVISIBLE);

非表示にした部分をつめる場合は、GONEを利用します。

 private static final int GONE = 8;
 Button deleteButton = (Button) findViewById(R.id.acount_delete);
 deleteButton.setVisibility(GONE);

Android 画面がスクロールしない

Android

Android 画面がスクロールしない

Androidの画面を作成していて、画面がはみでる範囲にあるのに、スクロールしない場合があります。

 <ScrollView
       android:id="@+id/ScrollView01"
       android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
 
 …中身
 </ScrollView>

で囲んであげましょう。

このScrollViewを利用する時の注意点があります。

ScrollViewの中には一つしか子要素を入れられません。

ScrollView can host only one direct childというアラートが出ます。
このアラートの解決の仕方はScrollView can host only one direct childを見てください。

 

Android 日本語でフォーマットされた日付を返すサンプルコード

Android
Java

Android 日本語でフォーマットされた日付を返すサンプルコード

Calendarを使って、日本語でフォーマットされた日付(2013年11月21日 11時30分)を返します。
何度か使いそうなので、書いておきます。

 //src内
 public static String getJapaneseDate(Calendar calendar, Context context){
 	
 	int year = calendar.get(Calendar.YEAR);
 	int month = calendar.get(Calendar.MONTH) + 1;
 	int date = calendar.get(Calendar.DATE);
 	int hour = calendar.get(Calendar.HOUR_OF_DAY);
 	int minute = calendar.get(Calendar.MINUTE);
 		
 	String japanese_date = Integer.toString(year) + context.getString(R.string.year) 
 			+ Integer.toString(month) + context.getString(R.string.month) 
 			+ Integer.toString(date) + context.getString(R.string.date) 
 			+ Integer.toString(hour) + context.getString(R.string.hour) 
 			+ Integer.toString(minute) + context.getString(R.string.minute); 
  		
 	return japanese_date;
 		
 }
 //strings.xml内
 <string name="year">年</string>
 <string name="month">月</string>
 <string name="date">日</string>
 <string name="hour">時</string>
 <string name="minute">分</string>