32

EditText次のようなコードを使用して、xml ファイルに3 つの を作成しています。

<EditText
    android:id="@+id/name_edit_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/profile_image_view_layout"
    android:layout_centerHorizontal="true"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="20dp"
    android:ems="15"
    android:hint="@string/name_field"
    android:inputType="text" />

アプリを実行すると、デバイスで次のように表示されます。

ここに画像の説明を入力

しかし、背景画像を使用せずに、次のように表示したい:

ここに画像の説明を入力

では、どのようにそれを行うことができますか?どんなアイデアや提案も役に立ちます。

4

6 に答える 6

39

edit_text_design.xml のような xml ファイルを作成し、drawable フォルダーに保存します。

私は私の選択に従ってカラーコードを与えました。あなたの選択に従ってカラーコードを変更してください!

 <?xml version="1.0" encoding="utf-8"?>
  <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item>
    <shape>
        <solid android:color="#c2c2c2" />
    </shape>
</item>

<!-- main color -->
<item
    android:bottom="1.5dp"
    android:left="1.5dp"
    android:right="1.5dp">
    <shape>
        <solid android:color="#000" />
    </shape>
</item>

<!-- draw another block to cut-off the left and right bars -->
<item android:bottom="5.0dp">
    <shape>
        <solid android:color="#000" />
    </shape>
</item>

</layer-list>

Edit Text は Background としてそれを含める必要があります:

android:background="@drawable/edit_text_design"をすべての EditText に追加します。

上記の EditText は次のようになります。

      <EditText
        android:id="@+id/name_edit_text"
        android:background="@drawable/edit_text_design"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/profile_image_view_layout"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="20dp"
        android:ems="15"
        android:hint="@string/name_field"
        android:inputType="text" />
于 2013-07-03T13:35:11.977 に答える
29

いくつかのオプションがあります。

  1. Android アセット スタジオの Android Holo カラー ジェネレーターを使用して、アプリに追加する必要があるリソース、スタイル、およびテーマを生成し、すべてのデバイスでホロの外観を取得します。

  2. Holo Everywhereライブラリを使用します。

  3. ホロ テキスト フィールドに PNG を使用し、自分で背景画像として設定します。Android アセット スタジオのホロ カラー ジェネレーターから画像を取得できます。ドローアブルを作成し、通常、選択、および無効の状態を定義する必要があります。

更新 2016-01-07

この回答は現在古くなっています。Android には着色 API と、コントロールを直接テーマにする機能があります。要素のスタイルやテーマを設定する方法については、materialdocというサイトが参考になります。

于 2013-07-03T13:27:40.500 に答える
11

10 分前に同じ問題を解決したので、短い効果的な修正を提供します。これをアプリケーション タグまたはマニフェスト内に配置します。

 android:theme="@android:style/Theme.Holo"

また、レイアウトのグラフィカル ビューで、XML レイアウトのテーマを Holo に設定します。

ライブラリは、より複雑なテーマを変更する必要がある場合に役立ちますが、この小さな修正でうまくいくので、アプリを先に進めることができます。

于 2014-05-12T13:22:41.947 に答える
5

以下のコードを使用します。それが役立つかどうかを確認してください。

<?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="#00f" />
            <padding android:bottom="2dp" />
        </shape>
    </item>
    <item android:bottom="10dp">
        <shape android:shape="rectangle" >
            <solid android:color="#fff" />

            <padding
                android:left="2dp"
                android:right="2dp" />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle" >
            <solid android:color="#fff" />
        </shape>
    </item>
</layer-list>
于 2014-02-04T14:38:27.563 に答える