EditText 的阴影 Android
Shadow for EditText Android
我需要为 EditText 创建阴影,如此处所示 - design。
我能够使用下面的代码部分地重新创建相同的内容。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SignupActivity">
<ImageView
android:id="@+id/signinPageLogo"
android:layout_width="171dp"
android:layout_height="160dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="132dp"
android:src="@drawable/dummy_logo" />
<TextView
android:id="@+id/signinAppName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/signinPageLogo"
android:layout_centerHorizontal="true"
android:text="@string/welcomePageText1"
android:textSize="30sp"
android:textStyle="bold" />
<androidx.cardview.widget.CardView
android:id="@+id/signinEmailIdCardView"
android:layout_width="234dp"
android:layout_height="73dp"
android:layout_below="@+id/signinAppName"
android:layout_centerHorizontal="true"
android:layout_marginStart="6dp"
android:layout_marginTop="109dp"
android:layout_marginEnd="6dp"
android:outlineSpotShadowColor="@color/teal_700"
android:layout_marginBottom="10dp"
app:cardCornerRadius="10dp"
app:cardElevation="4dp"
app:cardUseCompatPadding="true">
<EditText
android:id="@+id/signinEmailId"
android:layout_width="211dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/rounded_edittext"
android:hint="@string/signinPageText1"
android:inputType="textEmailAddress"
android:padding="10dp" />
</androidx.cardview.widget.CardView>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/signinPassword"
android:layout_width="211dp"
android:layout_height="wrap_content"
android:layout_below="@id/signinEmailIdCardView"
android:layout_centerHorizontal="true"
app:boxBackgroundColor="@color/white"
app:boxBackgroundMode="none"
app:hintEnabled="false"
app:passwordToggleDrawable="@drawable/show_password_selector"
app:passwordToggleEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/signinPageText2"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/signinForgotPass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/signinPassword"
android:layout_alignEnd="@id/signinPassword"
android:text="@string/signinPageText3" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/signinButton"
android:layout_width="256dp"
android:layout_height="64dp"
android:layout_below="@+id/signinForgotPass"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:background="@drawable/button_style"
android:gravity="center"
android:text="@string/welcomePageText1"
android:textAllCaps="false" />
</RelativeLayout>
但我需要增加阴影长度才能获得正确的效果。我现在可以制作的设计 - my design
android:outlineSpotShadowColor仅限28个以上api。那么还有其他选择吗?请指教正确获得此阴影效果..非常感谢!
您可以尝试使用“高度”属性。这是文档:https://developer.android.com/training/material/shadows-clipping .
要更改颜色,您需要使用 Carbon (https://github.com/ZieIony/Carbon). You could also see this answer: .
我需要为 EditText 创建阴影,如此处所示 - design。 我能够使用下面的代码部分地重新创建相同的内容。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SignupActivity">
<ImageView
android:id="@+id/signinPageLogo"
android:layout_width="171dp"
android:layout_height="160dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="132dp"
android:src="@drawable/dummy_logo" />
<TextView
android:id="@+id/signinAppName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/signinPageLogo"
android:layout_centerHorizontal="true"
android:text="@string/welcomePageText1"
android:textSize="30sp"
android:textStyle="bold" />
<androidx.cardview.widget.CardView
android:id="@+id/signinEmailIdCardView"
android:layout_width="234dp"
android:layout_height="73dp"
android:layout_below="@+id/signinAppName"
android:layout_centerHorizontal="true"
android:layout_marginStart="6dp"
android:layout_marginTop="109dp"
android:layout_marginEnd="6dp"
android:outlineSpotShadowColor="@color/teal_700"
android:layout_marginBottom="10dp"
app:cardCornerRadius="10dp"
app:cardElevation="4dp"
app:cardUseCompatPadding="true">
<EditText
android:id="@+id/signinEmailId"
android:layout_width="211dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/rounded_edittext"
android:hint="@string/signinPageText1"
android:inputType="textEmailAddress"
android:padding="10dp" />
</androidx.cardview.widget.CardView>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/signinPassword"
android:layout_width="211dp"
android:layout_height="wrap_content"
android:layout_below="@id/signinEmailIdCardView"
android:layout_centerHorizontal="true"
app:boxBackgroundColor="@color/white"
app:boxBackgroundMode="none"
app:hintEnabled="false"
app:passwordToggleDrawable="@drawable/show_password_selector"
app:passwordToggleEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/signinPageText2"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/signinForgotPass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/signinPassword"
android:layout_alignEnd="@id/signinPassword"
android:text="@string/signinPageText3" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/signinButton"
android:layout_width="256dp"
android:layout_height="64dp"
android:layout_below="@+id/signinForgotPass"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:background="@drawable/button_style"
android:gravity="center"
android:text="@string/welcomePageText1"
android:textAllCaps="false" />
</RelativeLayout>
但我需要增加阴影长度才能获得正确的效果。我现在可以制作的设计 - my design
android:outlineSpotShadowColor仅限28个以上api。那么还有其他选择吗?请指教正确获得此阴影效果..非常感谢!
您可以尝试使用“高度”属性。这是文档:https://developer.android.com/training/material/shadows-clipping .
要更改颜色,您需要使用 Carbon (https://github.com/ZieIony/Carbon). You could also see this answer: