GridView、グリッドビューに入れた画像が綺麗にならない、バラバラになる

みんな大好きグリッドビュー。

こうやって使いまっさ。ImageAdapterは独自のもの。そこに、context imageUrlListを渡します。

しかし、GridView、文字をいれるだけだと楽勝であるのだが、ネットから画像をよみこんでいれるとなるときっついのだ。それぞれの大きさがバラバラになったりして泣きそうになるのだ。他のサイトではすごく簡単にやり遂げているが。

ここで、

// 画像のサイズをここで固定
imageView.setMinimumWidth(300);
imageView.setMinimumHeight(200);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

これが必要だった。setScaleTypeはおこのみで。

クリックイベントにも注目。

setUrlを使ってurlをイベントリスナー内に入れ込んでいる。イベントに値を渡す方法。少し凝ったことをしたいなら必要になってくるだろう。

BASIC認証は使わないだろうからはずしてもいいじゃろう。

Activity、Intentのことについて(いろんなオプション)

こちらを参考にして、
intent.setFlagsメソッドの引数について

画面を遷移するときなどにこれを渡せばいいらしい。使い方は以下のような、

あとタスクに関係するのであればマニフェストの、

android:launchMode=”singleTask”

なども考慮するといいかもしれない。

また一つ賢くなったね!!

アラートダイアログの外側を押せないようにする

アラートダイアログの外側を押せないようにする、ダイアログは便利ですが外側を押しても反応しちゃう。

そこで

こんな感じで、アラートダイアログを宣言して

こうすればいいですね。

builder.create().show(); の create() はわけわかめ。なんだろうか、こいつは。

ボタンとかを薄くするためには(透明化)

alphaを指定する。

AlphaAnimationをつかって指定。

自分的Volleyの定番コード

自分的Volleyの定番コード

CustomRequestクラスを作成して以下の文章でvolley使う。例文はPOSTを使用する場合です。

数値文字列に0を加えて桁数を同じにしたい、文字列加工したい

“%1$02d”がミソ。2桁に満たない場合は0が加えられ、結果的に2桁表示にしてくれる。

1だと 01 というふうに。

“%1$04d” にすれば、

1だと 0001 というふうになる。

よく使うタイマーの流れ

タイマーをよく使うのですが、備忘録として。

タイマー、ハンドラーを宣言。その後のスケジュールで0秒から開始、その後2000ミリ秒ごと(2秒)にタイマー作動。となっています。 new DownloadTimer() を宣言してそれを実行することになっています。

実際の処理内は、

こんな感じでクラスをつくり public void run() { } に処理をかきます。それが実行されます。

WebViewを使用したときに外部ブラウザにジャンプさせない

アプリ内でWebViewを使用したとき、外部ブラウザにジャンプさせたくないとき、上記をいれるとよい。

ストレージに画像保存するためのクラス

使い方は、

レイアウトというかsetContentViewで設置したレイアウトを丸ごと渡したい

例えば、入力チェックなどのバリデータチェックとかのクラスを使いまわしたいときとか、レイアウトまるごと渡したいよね。

こうしたら渡せるね

あ、ValidatorCheck ではチェックしたりしてエラーメッセージが累積して返って来る仕組み。

ボタンを半透明化ぁああああ

半透明化なんだけどさ、ここまでやんないとだめみたい。

レイアウトとか、ボタンとか、あちこちアニメーションしたいよね!

 

TranslateAnimation2クラスとか
Easingクラスとかいるからね

そんでもって

つかうときはこげな感じ

こんな風にすると、びっくりただのアニメーションにバウンスついたりする。これはJavaScriptでもよくある手法だよぬ!

TranslateAnimation2(-1400.0f, 0.0f, 0.0f, 0.0f, Easing.easeOutBounce);

ポイントは上の一行ですね。

クラスファイルを2つ使用するだけでいけるので、ちょびっとアニメーションしたいときなんか簡単でいいですよね。

 

参考サイトhttp://andante.in/i/java/%E5%89%8D%E5%9B%9E%E4%BD%9C%E3%81%A3%E3%81%9Feasing%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%80%81translate%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E3%82%A4%E3%83%BC/

 

ダイアログメッセージを出す

これでウインドメッセージが出てきます。

“OK” を押した場合は、

この中にかくといいよ!

でもダイアログ以外をおしたときは、どう判定すればいいのか、、、、

動的にImageViewのmargin(マージン)とかを変更したいのよね

みたいにできると思うやん?できんから。

一度、MarginLayoutParams に通すのね。これを利用すればなんでもオッケーオッケー。

横幅を元に縦幅を黄金比で出すやつ

端末に画像を3つ並べて、間に10dpの隙間がはいることを想定しています。

なんちゃないよ。

端末の横dpが欲しいじゃん?横幅がさぁ、、、

これで取れます。

tanmatsuWidth = dp.getWidth();

こうすればいいよぬ!

ただ、今は非奨励なんで

こっちでとりましょう。

【Android】【超初心者用】JSONを少し作ってみる

ほんっと、みんな複雑に説明するの好きよね。頭いかれてる。

すこーしずつやってみていいやんか。

というわけで少しづつJSONを作ってみるから。ああ、あとさ。「作ってみる」を「作成」とかそういう風に難しく言うのも好きじゃない。頭いかれてる。 てめーだよ、てめー。

まず、こうする。自分の予想的には立派なJSONが出てくるだろうと思ってる、しかし

jsonObject.put(“name”, name);
ここでエラーでます。1時間苦しむ。

答え↓

try – catch で囲むとでません。腹たつよね。原辰徳だよね。知ってて当然みたいな顔するやつは教えるの向いてないことを自覚したほうがいいです。

実行します。

文字列で見れません。作成したJSONを見て「わーい!」ちょっとの一歩だけど大いなる一歩だ!ってやりたいのに。

return jsonObject;
ここをこうします。

return jsonObject.toString();
全体をみるとこういうメソッドにしてます。

で、

Log.v(“AAA”, “jsonTest= ” + jsonTest());
これを実行するとぉおおお

V/AAA: jsonTest= {“name”:”いやんばかん”}

こういうのがログに出力されました、ひゃっほー。

つまり

name という入れ物に いやんばかん が入ってるという事だと理解する。

【Android】【超初心者用】JSONを少し作ってみる3

さて、ここから。hakoというリストを作って、そこに いやんばかん をいれる。

V/AAA: jsonTest= {“name”:”[いやんばかん]”}
こうなる。なんだよ、この [ ] は?誰に断ってつけてんだ?

2回いれてみる。

こうなる。

V/AAA: jsonTest= {“name”:”[いやんばかん, いやんばかん]”}
ほほう。

[ ] はリストの事のようだな、、、。