10

この次の画像に示されている効果を達成しようとしています。

ここに画像の説明を入力

この画像には、角が丸く、上部に内部の影がある編集テキストがあります。私は多くのことを試みましたが、編集テキスト内に影を入れることに成功しませんでした。

このトピックを検索しましたが、すべての例で編集テキストの境界線の外側に影が表示されます。どうすればこれを達成できるかわかりません。

ボタンと背景画像は既に完成していて、あとは edittext の影だけです。誰かがすでにこれを行っているか、これを行う方法を知っている場合は、私と共有してください. どんな助けでも大歓迎です。

4

5 に答える 5

2

1.) drawable フォルダーに rounded_edittext.xml ファイルを作成する

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="15dp">
 <solid android:color="#FFFFFF"/>

    <corners
     android:bottomRightRadius="5dp"
     android:bottomLeftRadius="5dp"
     android:topLeftRadius="5dp"
     android:topRightRadius="5dp"/>

  <stroke android:width="1dip" android:color="#FF0000" />  
</shape>

2.) 以下のコードを、values フォルダーにある styles.xml ファイルに入れます。

<style name="largeEdittextText">
    <item name="android:textAppearance">@android:style/TextAppearance.Large.Inverse</item>
    <item name="android:textSize">15dp</item>
    <item name="android:singleLine">true</item>
    <item name="android:paddingTop">8dp</item>
    <item name="android:paddingBottom">8dp</item>
    <item name="android:paddingLeft">5dp</item>
    <item name="android:background">#FFB90F</item>
    <item name="android:textColor">@android:color/black</item>
</style>

3.) レイアウト ファイルの edittext に両方を適用する

<EditText
android:id="@+id/userName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="center_horizontal"
android:hint="@string/login_userHint"
android:text="admin"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:singleLine="true"
android:textAppearance="@style/largeEdittextText"
android:background="@drawable/rounded_edittext">
</EditText>
于 2014-06-27T06:47:15.783 に答える
2

ビューの背景としてシェイプ ドローアブル (長方形) を設定できます。

<TextView android:text="Some text" android:background="@drawable/back"/>

長方形の描画可能な back.xml (res/drawable フォルダーに配置):

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="#ffffff" />
   <stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>

単色に #00000000 を使用して、背景を透明にすることができます。パディングを使用してテキストを境界線から分離することもできます。詳細については、http: //developer.android.com/guide/topics/resources/drawable-resource.htmlを参照してください。

于 2013-01-02T13:40:54.903 に答える
0

EditText の境界線を丸くして曲線にしたい場合は、このコードを Drawable/mystyle.xml に貼り付けます (この xml ファイルを作成します)。

<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:thickness="0dp"
  android:shape="rectangle">
  <stroke android:width="1dp"
    android:color="#c8c8c8"/>
   <corners android:radius="11dp" />
</shape>

EditTextで、このファイルを次のようにリンクします

 android:background="@+drawable/mystyle"
于 2016-03-03T04:06:03.920 に答える