私はEditText Fieldのようなシャドウ(下と右)をデザインしようとしています
グーグルを試みて、多くのSOディスカッションを探しましたが、すべてEditTextではなくTextView用です。
これは、入力テキストにシャドウを追加するが、TextFieldにはシャドウを追加しない私のコードです
<EditText Android:id="@+id/txtpin"
Android:maxLength="4"
Android:layout_marginLeft="10dp"
Android:layout_height="37dp"
Android:gravity="center_horizontal"
Android:inputType="textPassword"
Android:longClickable="false"
Android:layout_width="160dp"
Android:shadowColor="@color/Black"
Android:shadowDx="1.2"
Android:shadowDy="1.2"
Android:shadowRadius="1.5"
Android:background="@color/White">
<requestFocus></requestFocus>
</EditText>
ドローアブルにはカスタムxmlビューが必要ですが、正確なアイデアは得られません。これを達成するためのロジックは何でしょう。
任意の助けいただければ幸いです。
うーん.. @Shaliniの答えはこのように私を助けましたが、それでもEditTextフィールドで2Dシャドウを達成する別の方法がありましたので、あなたと共有します。
EditText、下の影、右側の影の3つのレイヤーを持つカスタムXMLビューを作成する必要があります
以下は私のコードです。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<!-- most important is order of layers -->
<!-- Bottom right side 2dp Shadow -->
<item >
<shape Android:shape="rectangle">
<solid Android:color="#000000" />
</shape>
</item>
<!-- Bottom 2dp Shadow -->
<item>
<shape Android:shape="rectangle">
<solid Android:color="#000000" />
</shape>
</item>
<!-- White Top color -->
<item Android:bottom="3px" Android:right="3px">
<shape Android:shape="rectangle">
<solid Android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
これで、「Background」プロパティを使用して、このシャドウビューをTextFieldに設定できます。
このような
<EditText Android:layout_width="wrap_content"
Android:id="@+id/txtpin"
Android:maxLength="4"
Android:layout_height="37dp"
Android:gravity="center_horizontal"
Android:longClickable="false"
Android:padding="2dp"
Android:inputType="textPassword|number"
Android:password="true"
Android:background="@drawable/edittext_shadow"
Android:layout_weight="0.98"
Android:layout_marginLeft="15dp">
<requestFocus></requestFocus>
</EditText>
結果画面は、私が上記の質問に投稿したようなものです。
SOのおかげで、知識を共有しています。
これは私のために働く。
<EditText
Android:layout_width="fill_parent"
Android:shadowRadius="2"
Android:shadowColor="#0000ff"
Android:shadowDx="2"
Android:shadowDy="4"
Android:id="@+id/EditText01"
Android:layout_height="wrap_content" />
それが役に立てば幸い:)
Androidのテキストのシャドウ効果? から、おそらく使用を検討するでしょう
Android:shadowColor,
Android:shadowDx,
Android:shadowDy,
Android:shadowRadius;
または:
setShadowLayer()