ToolBarにStyleを設定する

<style name="MyToolbarStyle" parent="Widget.AppCompat.Toolbar"> <item name="android:background">@android:color/black</item> <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item> <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item> </style> あとはToolBarの属性内に適応する。

KitKatから採用された透明ステータスバーとナビゲーションバー

<style name="AppTheme" parent="Theme.AppCompat.Light"> <item name="android:windowTranslucentNavigation">true</item> <item name="android:windowTranslucentStatus">true</item> </style> ナビゲーションバーは戻るボタンの部分。ステータスバーは上の通知部分。 ステータスバーを透明にすると、ステータスバー分のス…

DialogのsetCancelableの微妙な罠

Dialogクラス内(onCreateDialogなど)で設定するときちんと設定されない。 Dialogインスタンスから呼び出せばきちんと設定される。

Uriを改めて復習

例:content://image/favorite?id=4&referer=from_okschemeはcontent authorityはimage pathは/favorite query1はid = 4 query2はreferer = from_okスキームとは、「://」までの、すべての文字列を指す。 オーソリティーは、「://」から、次の「/」「?」「#…

ButterKnife(Androidライブラリ)を使う

昨今流行のView Injection Library。 findViewByIdの嵐を防ぐことができる。 インストール自体は、Android Studioであればappの方のbuild.gradleに追加するだけなので簡素。詳細は公式ページを参照。 http://jakewharton.github.io/butterknife/Activityで使…

Viewの中身をLogで確認できるViewDebugのdumpCapturedViewが便利

使用例MainActivity.java . . . @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button b = (Button) findViewById(R.id.button1); // こいつ ViewDebug.du…

JavaでPHPのimplode的なことをしたい

なさそうなので、仕方なく作った。 public String implode(List<String> values, String glue) { StringBuilder sb = new StringBuilder(); int index = 0; int size = values.size(); for (String value : values) { sb.append(value); if (index <= size - 2) { sb</string>…

Activityから特定のViewを削除する(GONEではないよ)

ViewGroup p = (ViewGroup) view.getParent(); p.removeView(view);

AndroidでTimerを実装してみる

俺のTimerTaskクラス public class MyTimer extends TimerTask { public Context context; public Handler handler = new Handler(); public MyTimer(Context context) { this.context = context; } @Override public void run() { handler.post(new Runnabl…

Javaで日付文字列からタイムスタンプを取る

SimpleDateFormat sdf = new SimpleDateFormat(); sdf.applyPattern("yyyy/MM/dd HH:mm:ss); Date d = sdf.parse("2014/01/01 11:00:22"); long timeStamp = d.getTime() / 1000;

AndroidのTextUtils.isEmptyを使う

# echo true Log.d("TextUtilsSample", String.valueOf(TextUtils.isEmpty(null))); # echo false Log.d("TextUtilsSample", String.valueOf(TextUtils.isEmpty("hello")));

Android Studioで右下にIDEのメモリ使用量を出す

Preferenceを開き、Appearanceのshow memory indicatorにチェックをつける。

Nexus 7(2013)にUbuntuから「L」を入れてみた

Google I/Oを見ていたら、入れたくなってしまった。必要なもの ・Android SDK(fastbootへのPathを通す) ・ファクトリーイメージ(Google Developerからダウンロードする) $ tar xvzf razor-lpv79-preview-d0ddf8ce.tgz $ cd razor-lpv79 $ unzip image-ra…

UbuntuのGUIが固まってしまったら

Ctrl + Alt + F6でターミナル起動。(ちなみにCtrl + Alt + F7でGUIに戻る) ユーザ名でログインしたら $ sudo service lightdm restart で再起動。

LinuxでコマンドからHDDなどをマウント・アンマウント

デバイスと種類を把握する $ sudo fdisk -l 実行 $ sudo mkdir /mnt/mountedhdd $ sudo mount -t exfat /dev/sdb1 /mnt/mountedhdd $ sudo ln -s /mnt/mountedhdd ~/hdd アンマウント $ sudo umount /mnt/mountedhdd

Gitでリモートブランチをローカルに取得

$ git checkout -b new-local-name origin/remote-branch

HashMapのIterator

HashMap<String, MyObject> maps = new HashMap<String, MyObject>(); Set<String> keys = maps.keySet(); Iterator<String> iterator = keys.iterator(); while (iterator.hasNext()) { String key = iterator.next(); MyObject object = maps.get(key); }</string></string></string,></string,>

JavaScriptで画面域サイズ・表示域サイズの取得

# 表示域サイズ document.documentClientElement.clientWidth document.documentClientElement.clientHeight # 画面域サイズ screen.width wcreen.height

Gitでブランチ名変更

$ git branch -m NEW_NAME

Gitでコミットからブランチを生成

$ git checkout -b NEW_NAME_BRANCH COMMIT_ID(ex:sdlf32523sdfjl3jl24lsjg4l)

Android Studioでスペースを表示する

File -> Settings -> Appearance -> Editor で Show whitespaces にチェック。

UbuntuでAndroid Studioのシステムフォントをいい感じにする

エディタではなく、メニューなどのアプリケーション自体のフォントについて。 File -> Settings -> Appearance で Override default fonts by にチェックする。個人的に好きなフォントは Mukti Narrow Bold 14。

Android Studioでよく使う感じのキーバインド(Mac)

Auto Import option + enterCreate Getter Setter ctrl + enterAuto delete unused import ctrl + option + oSource format option + command + l

TOSHIBA Portege R830( = dynabook R731)のubuntu 13.10 64bit版で輝度調整できるようにする

TOSHIBA Portege R830( = Dynabook R731)にubuntu 13.10 64bit版を入れて使ってたのだが、Fn+F6とF7でディスプレイの照度(輝度)が調整できない悩みがあった。正確に言うと、ubuntuを起動したときは調整できたのだけど、サスペンド後にディスプレイ照度…

Ubuntu 13.10 (64ビット)から、手動でNexus 7(2012)をKitKat(4.4)にアップデート

待てど暮らせど4.4が降ってこないので、痺れを切らし手動でインストールすることにした。 ちなみにファクトリーイメージからflash-all.shのスクリプトを使用するので、実質新規インストールになる。ただ、手動でアップデートする方法もあるようだ。Nexus 7(…

Nexus 5を購入した

11月1日にいきなり発売されたNexus 5。 Google playで即効ポチった(朝3時半くらい?)ため、思ったより早く届いた。今回購入したのは、32GBホワイト。 お値段44800円と、やや高いかなという感じ。化粧箱は、Nexus 7やNexus 4とさほど違いがないが、 Nexus 4…

Ubuntu13.10 64bit版でAndroidSDKのadbが実行できなくなった際の対策

13.10からia32-libsがなくなったので、32bitコマンドが動かせなくなった。 adbを実行すると「ファイルやディレクトリがありません」となる。とりあえず、その付近のライブラリを手動でインストール。 $ sudo dpkg --add-architecture i386 $ sudo apt-get up…

Ubuntu13.10にEclipse Keplerを入れてメニューが出なくなった際の対策

eclipse.desktopに書いて、dashから起動すると、メニューが開けない。 回避策として、Execに環境変数を追加。Exec=env UBUNTU_MENUPROXY=0 /usr/local/lib/eclipse/eclipseただ、ヘッダにメニューが表示されなくなる。

Ubuntuでコンピュータ名を変更する

$ sudo vim /etc/hostname$ sudo vim /etc/hostsそれぞれのファイルで新しい名前を保存。 保存後、リブート。

Ubuntuでunetbootinを実行する

http://unetbootin.sourceforge.net/からバイナリをダウンロード。$ chmod +x unetbootin-linux-583 で実行権限を付加。7zが読めませんといった趣旨のワーニングが出たら $ sudo apt-get install p7zip-full で7zipをインストール。実行時にエラーが出たら $…