AndroidにおけるXMLでのカラーコード
透過率を付ける方法をググってたら分かった内容のメモ。
基本的にカラーコードは16進数の6桁をつかう。
例えば以下のサイトではHTMLなんかで使いたい色を調べるときに重宝する。
WEB色見本
http://www.colordic.org/
こいつのあたま二桁(#のあと)に16進数で値を追加することで透過率を表すことができる。
例えば#00000000なんてやると真っ黒。でもこれを#ff000000なんてやるとなんもでない。はず。
透過率は頭2桁。
コレが重要。
調べてる時どの部分が透過率なのか把握するのに地味に時間がかかった。
SDカードの動画ファイル一覧を取得。選択したファイルを再生。。。できない\(^o^)/
うーん。
package com.futabooo.testapp; import java.io.File; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Environment; import android.widget.Toast; import android.widget.VideoView; public class MainActivity extends Activity{ //動画ファイルのあるディレクトリ String Path = Environment.getExternalStorageDirectory().getPath() + "/" + "external_sd/test_animation/"; String fileName = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showFileName(getFileNameList(Path)); VideoView videoView = (VideoView) findViewById(R.id.surface); videoView.setVideoPath(Path + fileName); videoView.start(); } //選択ボックスで表示するファイル名のリストを作成 public String[] getFileNameList (String str) { File dir = new File(str); final File[] files = dir.listFiles(); final String[] str_items; str_items = new String[files.length]; for (int i = 0; i < files.length; i++) { File file = files[i]; str_items[i] = file.getName(); } return str_items; } //ファイルの選択ボックスを表示 public void showFileName (String[] str_items){ final String[] files = str_items; new AlertDialog.Builder(getApplicationContext()) .setTitle("ファイルを選択") .setItems(str_items, new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which) { if (which < files.length){ fileName = files[which]; Toast.makeText(MainActivity.this, "ファイルパス:「" + fileName + "」を選択しました。", Toast.LENGTH_LONG).show(); } } }).show(); } }
MacでGalaxyS2が認識してくれなかった時の解決策
レアなケースだと思います。
僕の場合認識してくれなかったのは、EasyTetherというAndroidのテザリングアプリを使ってUSB接続した経験があったからでした。
こちらのブログを見ていて分かりました。
http://d.hatena.ne.jp/PAD_min/20110825/p1
解決策は以下のフォルダをまるっと削除です。
/System/Library/Extensions/EasyTetherUSBEthernet.kext
これで認識してくれるようになりました。
初めてのAndroidプログラミング備忘録(3)
前回書いてたやつを全部完成させた。
でもうまくいってない。
画像の赤丸の部分に隙間ができてしまうんですよね。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:text="お申し込みフォーム" android:textAppearance="?android:attr/textAppearanceLarge" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="70sp" android:layout_height="wrap_content" android:text="お名前:"/> <EditText android:id="@+id/namae" android:layout_width="200sp" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="70sp" android:layout_height="wrap_content" android:text="住所:"/> <EditText android:id="@+id/jyuusho" android:layout_width="200sp" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="70sp" android:layout_height="wrap_content" android:text="生年月日:"/> <Spinner android:id="@+id/seinengappi_tuki" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/tuki" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="月"/> <Spinner android:id="@+id/seinengappi_nichi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/nichi" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="日"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="70sp" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="性別:"/> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/male" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" /> <RadioButton android:id="@+id/female" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" /> </RadioGroup> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="50sp" android:layout_marginRight="50sp" android:background="#003399" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingRight="100sp" android:text="希望商品"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="注文数量"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="50sp" android:layout_marginRight="50sp" android:orientation="horizontal" > <CheckBox android:id="@+id/ringo" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_marginRight="70sp" android:text="りんご" /> <EditText android:id="@+id/ringokazu" android:layout_width="40dp" android:layout_height="wrap_content" /> </LinearLayout>> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="50sp" android:layout_marginRight="50sp" android:orientation="horizontal" > <CheckBox android:id="@+id/mikan" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_marginRight="70sp" android:text="みかん" /> <EditText android:id="@+id/mikankazu" android:layout_width="40dp" android:layout_height="wrap_content" /> </LinearLayout>> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="50sp" android:layout_marginRight="50sp" android:orientation="horizontal" > <CheckBox android:id="@+id/momo" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_marginRight="70sp" android:text="もも" /> <EditText android:id="@+id/momokazu" android:layout_width="40dp" android:layout_height="wrap_content" /> </LinearLayout>> <Button android:id="@+id/soushin" android:layout_gravity="center_horizontal" android:layout_width="150dp" android:layout_height="wrap_content" android:text="送信" /> </LinearLayout>
初めてのAndroidプログラミング備忘録(2)
何記事か書くようになってこのタグの付け方はありなのか?わかりづらくないか?
と思い始めてきたfutaboooですこんにちは!
今日も先日に引き続きLayoutとViewに格闘していました。
今日わかったことはlayout_widthの値に"wrap_content"を定義すると、EditTextクラスの時にどう動くのかってこと。
今日書いたのがエミュレータの表示だとこんな感じ。ここの一つ目のテキストボックスに入力したら。1個したの画像みたいになった。
コード全体はこれ。更に下の方に問題の部分だけ抜き出したもの。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:text="お申し込みフォーム" android:textAppearance="?android:attr/textAppearanceLarge" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="お名前:"/> <EditText android:id="@+id/namae" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="住所:"/> <EditText android:id="@+id/jyuusho" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="生年月日:"/> <Spinner android:id="@+id/seinengappi_tuki" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/tuki" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="月"/> <Spinner android:id="@+id/seinengappi_nichi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/nichi" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="日"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="性別:"/> <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/male" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" /> <RadioButton android:id="@+id/female" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" /> </RadioGroup> </LinearLayout> </LinearLayout>
問題の部分だけ抜き出すとこれ。
<EditText android:id="@+id/namae" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
"wrap_content"を任意の値にすればいいだね!
これってXMLファイルだからJAVAってタグじゃないんじゃないか?(´・ω・`)
ブログの文書の書き方が定まらない。。。
AndroidのViewを色々試してみた
Viewを色々試してみた。
XMLファイルへの記述がこれ。
<?xml version="1.0" encoding="utf-8"?> <!-- 画面全体のスクロールバーの定義 --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- レイアウトの定義 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- TextView(テキスト)の定義 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:text="@string/textviewsample1" /> <!-- EditText(テキストボックス)の定義 --> <EditText android:id="@+id/edittext1" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <!-- CheckBox(チェックボックス)の定義 --> <CheckBox android:id="@+id/checkcox1" android:paddingBottom="24sp" android:paddingTop="24sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/checkboxsample1" /> <CheckBox android:id="@+id/checkbox2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/checkboxsample2" /> <!-- RadioButton(ラジオボタン)の定義 --> <RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/radiobutton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/radiobuttonsample1" /> <RadioButton android:id="@+id/radiobutton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/radiobuttonsample2" /> </RadioGroup> <!-- Spinner(選択ボックス)の定義 --> <Spinner android:id="@+id/spinner1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:entries="@array/list_name" android:drawSelectorOnTop="true" /> <!-- ListView(リスト一覧)の定義 --> <ListView android:id="@+id/listView1" android:paddingBottom="24sp" android:paddingTop="24sp" android:layout_width="fill_parent" android:layout_height="250dp" android:entries="@array/list_name" /> <!-- Button(ボタン)の定義 --> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/buttonsample1" /> </LinearLayout> </ScrollView>
valuesフォルダのstrings.xmlにtextの内容を別途ちゃんと記述してないとエラーが出るのでちょっと困った。
Eclipseでデバッグが思うような反応をしてくれなくて困った時の解決方法
デバッグの方法を勉強していたらなんかエミュレータにこんな表示がされた。
結論から言うと、タスクマネージャーからadb.exeのプロセスを終了してEclipseの再起動で直った。
この解決に至るまでに2時間もかかったよ!
というのも、エラー文を最初にググればよかったのだけども、今勉強に使ってる本と同じ表示が出てこなくて、
そっち色々調べてたら時間かかりました。
その画面がこれ。(デバッグ(Eclipseの虫のアイコン)をクリックするとEclipseの画面はこんな風になる。)
この画面もEclipseの再起動ででたけど、その時の詳細な手順をメモ。
デバッグのエラー出る
↓
Eclipse終了する
↓
タスクマネージャーからadb.exeを終了する
↓
Eclipse起動する
↓
Eclipseのメニューバーから、ウィンドウ>ビューの表示>その他>Android>Logcat>OK
(Android開発の場合このLogcatってのにログが出力されていく)
↓
デバッグしたいパッケージ選択してデバッグ
↓
やったね!!
ほんとにこんなんでいいんだろうか。
ひとまずこれで動いたのでよしとしますか。