一定期間更新がないため広告を表示しています
AndroidのContextメニューの文字や背景の色を変えようとしてひどい目に遭う
- 2014.07.06 Sunday
- Androidでプログラム
- 15:53
- comments(0)
- trackbacks(0)
- -
- by 頓智亭
愚痴です。
AndroidのContextメニューといいますと、Listviewの項目をロングタップしたらメニューが出るというものです。
元から用意されている便利な機能なのですが、メニューの項目の文字色を変えたりしようとしても基本的には出来ないみたいです。なぜ色を変えたかったかというと自作のアプリで配色を色々いじっていたらコンテキストメニューの文字色が背景と同じ色になってしまって見えなくなる、という現象に遭遇したからでした(=本とか読んで系統立てて勉強していないとこうなる)。
手元の環境ではStyle.xmlでtextColorやらBackgroundやらを指定するとそれに引きずられて変わることもあったのですが、エミュレータと実機で結果が異なったりで、何がなにやら、さっぱりわかりません。どうにも困ったことになりました。
これは、自分のやり方がまずいに違いありません。
さらに調べてみると、StackOverFlowに(英語で)SpannableStringクラス使えばできるよ!、と書いてあったので喜び勇んで試してみたのですが、確かに文字色は変わったのですが・・・コンテキストメニューの項目を選択すると、例外が発生します。これじゃメニューの役に立ちません。
なんかもう、もう調べるの疲れました・・・。
費やした時間でコンテキストメニューっぽいダイアログを自作する方法調べたほうが早かったかも・・・。
AndroidのContextメニューといいますと、Listviewの項目をロングタップしたらメニューが出るというものです。
元から用意されている便利な機能なのですが、メニューの項目の文字色を変えたりしようとしても基本的には出来ないみたいです。なぜ色を変えたかったかというと自作のアプリで配色を色々いじっていたらコンテキストメニューの文字色が背景と同じ色になってしまって見えなくなる、という現象に遭遇したからでした(=本とか読んで系統立てて勉強していないとこうなる)。
手元の環境ではStyle.xmlでtextColorやらBackgroundやらを指定するとそれに引きずられて変わることもあったのですが、エミュレータと実機で結果が異なったりで、何がなにやら、さっぱりわかりません。どうにも困ったことになりました。
これは、自分のやり方がまずいに違いありません。
さらに調べてみると、StackOverFlowに(英語で)SpannableStringクラス使えばできるよ!、と書いてあったので喜び勇んで試してみたのですが、確かに文字色は変わったのですが・・・コンテキストメニューの項目を選択すると、例外が発生します。これじゃメニューの役に立ちません。
なんかもう、もう調べるの疲れました・・・。
費やした時間でコンテキストメニューっぽいダイアログを自作する方法調べたほうが早かったかも・・・。
Androidとジオイド2011 その2
- 2014.07.06 Sunday
- Androidでプログラム
- 15:43
- comments(0)
- trackbacks(0)
- -
- by 頓智亭
前回の続きです。
だいぶ日が開きましたが、その間に、ある程度動くところまで作ってしまいました。
結果としては、自分の持っているスマートフォンからGPSから得られる標高データのばらつきが激しくジオイド補正って意味あるんかな? と思いました。骨折り損的な。
以下、実際に何をやったか書きます。
まずメッシュデータですが、国土地理院のサイトからまとめてファイルとして手に入ります(※)が、以下のサイトから必要な分だけ取り出したほうが、簡単でした。
http://surveycalc.gsi.go.jp/sokuchi/geoid/calcgh/calcframe.html
※実際に使用する場合は念のため関連の法令などにご注意ください。国土地理院のサイトにも説明があります。
上記サイトで「一括計算」というタブをクリックすると、得たい地点のジオイド高のデータをファイルで一括指定することが出来ます。一括といっても「ここから〜ここまで全部ちょうだい」という指定は出来ず、地点をひとつずつ一行に記述しないといけません。
Eclipse環境に馴らされた体には大変つらいことでしたが、perlの入門サイトを見ながら以下のようなスクリプトをコード補完ののないテキストエディタでこさえました(perl触ったの初めて)
perlはActiveperlだったと思います(何につかったのか、いつインストールしたかも思い出せない・・・)。
##ジオイドデータを得るためのinput.datを自動生成するスクリプト
#緯度
$lat=000000.0000;
$start_lat=200000.0000;
$end_lat=500000.0000;
$incre_lat=2000.0000;
#経度
$lon=0000000.0000;
$start_lon=1200000.0000;
$end_lon=1500000.0000;
$incre_lon=2000.0000;
#カウンタ
$counter=0;
for ($lat = $start_lat ; $lat <= $end_lat ; $lat=$lat+$incre_lat)
{
for ($lon = $start_lon ; $lon <= $end_lon ; $lon=$lon+$incre_lon)
{
$counter++;
printf("%6.4f %7.4f¥n",$lat,$lon);
}
}
※incre_ほにゃららの値を変えると取得するメッシュの精度が変わります。
上記のままだと2万数千行くらいになったかと思います。
ちなみに3万行を超えるファイルは受け付けられません。
これを実行して得られたテキストファイルをさっきのサイトに放り込むと、緯度/経度/ジオイド高が数万行に
わたって列挙されたファイルが手に入ります。
う〜ん。でかいファイルです。ファイルを見てみるとほとんどの行のジオイド高が-9999.0000とかってなっ
てますね。これらは有効なデータではないということを示しているそうです。さっきのスクリプトだと斜めに
細長い日本全体が収まる矩形のデータを得ようとするのでこうなってしまいます。
なので、意味のない行は全部消します。
あとは、「000.0000」みたいな部分は全部消しました。
そうすると、だいぶファイルも小さくなります。それでもちょっと大きいか・・・。
あとは、GPSから得られた緯度経度を元に、このファイルから該当する地点のジオイド高を検索してきて、GPSから得られた標高から引くとジオイド高での補正は完了です。
ほんで実際に自分のアプリに上記機能を組み込んで試してみたのですが、最初に書いたとおり、同じ場所で何回も測位してみたところ、GPSの返してくる標高があまりにもバラバラ(100m近く違ったりも・・・)なので、それをジオイド高(だいたい30〜40m)で補正する意味あったんかな・・・と徒労感でいっぱいになりました。
G3のEnzoが生産終了の模様。EnzoRは残るとか・・・
- 2014.07.02 Wednesday
- テレマークスキー道具
- 03:42
- comments(0)
- trackbacks(0)
- -
- by 頓智亭
最近バタバタしていてテレマークスキーからはずいぶん縁遠くなってしまったのですが。
リンク先の情報によりますと、G3のツアーモードつきのビンディングであるEnzoは生産中止みたいです。
現時点(2014年)では75mmブーツ向けとしては最後発のツアービンディングだったのですが。
記事中では、登場するタイミングがよろしくなかったように記載されています。
単純に売れていないとのことですが、テレマーク市場が縮小しているのか、Newmarkビンディング
(高価だが、群を抜いて軽い)に押されているのか、いずれにしても残念です。
しかし、見方によってはEnzoが安く手に入る(アメリカの通販サイトだと、セール品になっているかも)
チャンスといえるのかもしれません。
私の持っているあのビンディングやこのビンディングは大丈夫なのだろうか・・・
こちらの記事です。
http://www.earnyourturns.com/25093/g3-telemark-binding-enzo-gets-booted-enzo-r-lives-on/#more-25093
- sponsored links
- selected entries
-
- AndroidのContextメニューの文字や背景の色を変えようとしてひどい目に遭う (07/06)
- Androidとジオイド2011 その2 (07/06)
- G3のEnzoが生産終了の模様。EnzoRは残るとか・・・ (07/02)
- categories
-
- Androidでゲーム (1)
- Androidでプログラム (16)
- SWBF2(STARWARS BATTLE FRONT2) (12)
- もろもろ (5)
- コンピュータ (4)
- テレマークスキー (48)
- テレマークスキー道具 (38)
- 自転車 (4)
- 登山 (26)
- 登山道具 (14)
- 旅行 (1)
- archives
-
- February 2022 (1)
- January 2022 (1)
- November 2021 (1)
- October 2021 (2)
- July 2021 (2)
- June 2021 (1)
- May 2021 (2)
- March 2021 (1)
- February 2021 (1)
- January 2016 (1)
- February 2015 (1)
- July 2014 (3)
- June 2014 (1)
- December 2013 (1)
- November 2013 (1)
- October 2013 (3)
- August 2013 (1)
- July 2013 (1)
- May 2013 (1)
- April 2013 (1)
- March 2013 (1)
- February 2013 (2)
- January 2013 (2)
- December 2012 (2)
- November 2012 (1)
- September 2012 (3)
- July 2012 (2)
- June 2012 (1)
- May 2012 (3)
- April 2012 (3)
- March 2012 (2)
- February 2012 (6)
- January 2012 (2)
- December 2011 (5)
- November 2011 (1)
- October 2011 (6)
- September 2011 (4)
- August 2011 (1)
- July 2011 (3)
- June 2011 (2)
- May 2011 (3)
- April 2011 (1)
- March 2011 (1)
- February 2011 (2)
- January 2011 (5)
- December 2010 (4)
- November 2010 (7)
- October 2010 (3)
- September 2010 (8)
- August 2010 (7)
- July 2010 (1)
- June 2010 (8)
- May 2010 (6)
- April 2010 (4)
- March 2010 (4)
- February 2010 (3)
- January 2010 (6)
- December 2009 (10)
- November 2009 (7)
- October 2009 (2)
- recent comment
-
- コントラクトキラー:攻略メモ
⇒ 頓知亭 (05/01) - コントラクトキラー:攻略メモ
⇒ ヨシダ (04/25) - 新しいブルドッグ、でた(RTbulldog)
⇒ 頓智亭 (04/06) - 新しいブルドッグ、でた(RTbulldog)
⇒ kn5 (03/31)
- コントラクトキラー:攻略メモ
- profile
- search this site.
- mobile