幸福なプログラマ

プログラマは幸福になれる。

罫線のついたtextareaをcssで実現する。

ノートみたいな罫線をtextarea内に描画したい場合、以下のようなcssを記述することで実現できます。
 

textarea {
    font-size: 15pt;
    line-height: 31px;
    padding: 31px;

    /* テキストエリアに陰をつける */
    box-shadow: 0.2em 0.2em 0.5em black;

    /* 罫線描画(各ブラウザ対応)*/
    background-image: -webkit-linear-gradient(left, white 10px, transparent 10px), -webkit-linear-gradient(right, white 10px, transparent 10px), -webkit-linear-gradient(white 30px, #ccc 30px, #ccc 31px, white 31px);
    background-image: -moz-linear-gradient(left, white 10px, transparent 10px), -moz-linear-gradient(right, white 10px, transparent 10px), -moz-linear-gradient(white 30px, #ccc 30px, #ccc 31px, white 31px);
    background-image: -ms-linear-gradient(left, white 10px, transparent 10px), -ms-linear-gradient(right, white 10px, transparent 10px), -ms-linear-gradient(white 30px, #ccc 30px, #ccc 31px, white 31px);
    background-image: -o-linear-gradient(left, white 10px, transparent 10px), -o-linear-gradient(right, white 10px, transparent 10px), -o-linear-gradient(white 30px, #ccc 30px, #ccc 31px, white 31px);
    background-image: linear-gradient(left, white 10px, transparent 10px), linear-gradient(right, white 10px, transparent 10px), linear-gradient(white 30px, #ccc 30px, #ccc 31px, white 31px);
    background-size: 100% 100%, 100% 100%, 100% 31px;
    /* 淡いグレーで枠線を囲む */
    border: 1px solid #ccc;
}

 
textarea こんな感じになります。

参考:textarea with horizontal rule

1箇所だけ角丸のViewを作る

角丸のViewを作りたい場合は、以下のようなxmlを用意して対象のViewBackgrounに指定することで実現できます。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <solid
        android:color="#fff" >
    </solid>
    <corners
        android:radius="30dp" /><!-- 角の丸みを調節 -->
</shape>

 
kadomaru
それを↑の画像のように1箇所だけ角丸にしたい場合は、以下のようなxmlを定義する必要があります。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
       <shape
        android:shape="rectangle" >
            <solid
                android:color="#fff" >
            </solid>
            <corners
                android:radius="30dp" />
        </shape>
    </item>
    <item
        android:right="30dp">
        <shape
            android:shape="rectangle" >
            <solid
                android:color="#fff" >
            </solid>
        </shape>
    </item>
    <item
        android:top="30dp">
        <shape
            android:shape="rectangle" >
            <solid
                android:color="#fff" >
            </solid>
        </shape>
    </item>
</layer-list>

layer-listitemを重ねて表示させます。
1つ目のitemが4箇所とも角丸の定義です。
2つ目のitemで右側に30dpパディング幅を持たせた、最初のitemと同一色の長方形を重ねます。これにより右半分だけが角丸になります。
さらに3つ目のitemで上側に30dpパディング幅を持たせた長方形を重ねることで右下部分の角まるを上書きます。
上記のように3つのitemを重ねることで1箇所だけ角丸のViewを実現することが可能です。

ActionBarからアイコンを消す

AndroidのActionBarからアプリアイコンを消したい場合は、独自に定義したstylesに以下の1行を加えます。

<resources>
    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        <!-- ↓コレ -->
        <item name="android:icon">@android:color/transparent</item>
    </style>
</resources>

こうすることで以下のようにActionBarのアイコンが表示されなくなります。
before

after

Android Studioで全文検索

Android Studio全文検索したいときは
Edit→Find→Find in path
Find in path
 
を選択して出てきた子画面のText to findにキーワードを入れてFindボタン押下で実行できます。
Find
 
Optionsの意味は↓みたいな感じ。

名前 意味
Case sensitive 大文字と小文字を区別して検索。
Whole words only (may be faster) 単語として完全に一致したもののみ検索する。(速くなるかも)
Regular expression 正規表現で検索。
Comments only コメントを対象に検索する。
String literals only 文字リテラルを対象に検索する。

Android Studioのバージョンを0.6.0に上げたときに出るエラーの対処法

Android Studioのバージョンを0.6.0に上げた際、既存のプロジェクトで以下のようなエラーが出ました。

Error:The SDK Build Tools revision (19.0.3) is too low for project ':app'. Minimum required is 19.1.0

 
Android SDKのリビジョンが古いということなので、app/build.gradleを書き換えます。

buildToolsVersion "19.0.3"

buildToolsVersion "19.1.0"

 
上記設定に変更してクリーンしてもすんなり解決というわけにはいかなくて、以下のようなエラーが発生します。

Error:Cause: failed to find Build Tools revision 19.1.0

Please install the missing Build Tools from the Android SDK Manager.

 
インストールされているAndroid SDKの中に19.1.0のBuild Toolsがないとのこと。
SDK Managerを立ち上げて対象リビジョンのBuild Toolsをインストールします。
sdk

再度クリーンすることでエラーは解消されます。