Android開発(java)についての質問
Android開発(java)についての質問です。
開発初心者で、パズルゲームを作ろうと思い、数独を作っています。
いまできてるのは画像のところまでです。
canvas.drawLineによってマスを区切り、drawRectによって
マスの下に薄い青色の四角を描画しています。
そこに1,2,3,4,5,6,7,8,9 というTextの張られたボタンを置いて、
タッチされたときの処理を書いていこうと思ったのですが、
いままでdrawはあまり触れたことがなく、main.xmlよりレイアウトを記載していたため、
そこへの配置の仕方がわからず困っております。
考えたのは、drawRectにより四角を9個作り、テキストをそれぞれ張り、
座標に応じてどこが押されたかを判断し、if(位置判断)処理 という方法しか浮かばず。。
できたらボタン型として配置し、setEndble(表示、非表示)やonClickLitener等を使いたいのですが、良い方法はありますでしょうか?
また、マスのDrawのしたにxmlファイルで定義したレイアウトを表示することは可能なのでしょうか?
簡単にいうと一部はjavaコードで記載 下部分のみはmain.xmlで記載したレイアウトを表示。
またはそれに近いやり方。。。
簡単な方法があれば教えていただきたいです。
よろしくお願いします。
☆android 転職、android 求人☆
l android 転職 l android 求人 l Best Answer
例のようなマス目が固定の場合、Drawしていく方法はあまりオススメできません。端末によってはズレます。。。レイアウトにTableLayoutというものがあるのでそれをレイアウトに採用するのもよいかと思います。
プログラムからxmlを読み込んで・・・の件ですが、LayoutInflaterというものがあります。任意のレイアウトxmlをViewインスタンスとしてプログラムで取得できます。使い方はググッてみてください。
ゲームアプリはWeb系とは違ってアルゴリズムを考えるのが楽しいですよね!!頑張ってください!
☆android 転職、android 求人☆
l android 転職 l android 求人 l Answerへのお礼
setContentView(layout);
はやってはいるんですが表示が暗くなりますね。。
Log.vでみていったところonDrawに入ってないようでした。
今回は解決できませんでしたが手助け頂けたのでベストアンサーにさせて頂きます!
ありがとうございました!
☆android 転職、android 求人☆
android開発 エミュレーターについて
android開発について質問です。
率直に、エミュレーターが起動してくれません・・・。
教えていただけると助かります。
AVD作成後、スタートすると、
emulator: ERROR: no search paths found in this AVD's configuration.
Weird, the AVD's config.ini file is malformed. Try re-creating it.
というエラーが出ます。
ネットで調べると同じようなエラーでお困りの方がいまして、config.iniファイルのpathを変えて、
avdのディレクトリを移動して・・・
とアドバイスなさっていますが、
私のconfig.iniファイルの記述を見ると、
path=platforms\android-8\skins\WVGA800vm
となっています。
皆さんのアドバイスだと、pathは、Cから始まり、〜.avdが表示されるようですが、
私の場合は、WVGA800vmという画像のようなもの?が保存されているフォルダのパスが表示されてしまいます。
パスの始まりは、platformsというandroid-sdk-windowsのフォルダにあるもののようですが、
中途半端な場所からになってしまってますよね?
ファイルをC直下などに移動して、記述を変えても起動してくれなく、困ってしまってます。
初歩的な事で、申し訳ありませんが、アドバイスいただきたく思います。
☆android 転職、android 求人☆
l android 転職 l android 求人 l Answer
Pathをいじると言えば、通常は環境変数「Path」です。
config.iniではありません。
あなたの使っているWindowsがどれだかわかりませんので具体的にはいえませんが
基本的にシステムのプロパティからたどれば設定できるはずです。
☆android 転職、android 求人☆
Androidアプリ 画面遷移の実相
Android開発について質問です。
今、初心者ながらAndroidアプリを作っているのですが、なかなかうまくいかなくて、画面遷移を実装したいのですがなかなかうまくいきません。。
下記がコードの一部になっています。
textView01 = (TextView)findViewById(R.id.TextView01);
textView02 = (TextView)findViewById(R.id.TextView02);
button01 = (Button)findViewById(R.id.Button01);
button02 = (Button)findViewById(R.id.Button02);
datePickerDialog = new DatePickerDialog(this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
textView01.setText(year + "/" + monthOfYear + 1 + "/" + dayOfMonth);
}
}, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
timePickerDialog = new TimePickerDialog(this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
textView02.setText((hourOfDay > 12 ? hourOfDay - 12 : hourOfDay) + ":" + minute + " " + (hourOfDay > 12 ? "PM" : "AM"));
}
}, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), false);
button01.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
datePickerDialog.show();
Button button01 = (Button)findViewById(R.id.Button01);
}
});
button02.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
timePickerDialog.show();
Button button02 = (Button)findViewById(R.id.Button02);
}
});
Intent intent = new Intent();
intent.setClassName("tabacco.smoking","tabacco.main");
startActivity(intent);
もしよろしければヒントや解答をよろしくお願い致します。
☆android 転職、android 求人☆
l android 転職 l android 求人 l Answer
画面遷移はインテント使ってアクティビティを起動するって処理になると思いますので、
Intent intent = new Intent(this, NextActivity.class);
startActivityForResult(intent,0);
(※NextActivityは遷移先のアクティビティのクラス名)
のような記述でいけるかと。この場合はAndroidManifest.xmlファイルにNextActivityクラスについて記述しないとうまくいかないです。アクティビティの終了はfinish()メソッドになります。
startActivityForResultメソッドは、遷移先アクティビティから帰ってきたときに値を受け取ることができます。第二引数でどのアクティビティから帰ってきたかを判断します(本当なら定数を使うべき)。startActivityメソッドは遷移するだけで結果を受け取れません。遷移先画面での処理によって、戻ってきたときに何かするって処理をしないのならstartActivityメソッドでも問題ないです。
わたしはなんとなくstartActivityForResultメソッドで統一してます。
【参考】
http://wiki.livedoor.jp/moonlight_aska/d/%B2%E8%CC%CC%A4%F2%C1%AB%B...
☆android 転職、android 求人☆