【发布时间】:2020-09-04 07:56:30
【问题描述】:
【问题讨论】:
标签: android android-layout material-components-android android-textinputlayout material-components
【问题讨论】:
标签: android android-layout material-components-android android-textinputlayout material-components
使用 TextInputLayout
<com.google.android.material.textfield.TextInputLayout
app:boxBackgroundColor="@color/white"
app:placeholderText="Name"
app:hintEnabled="false">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</com.google.android.material.textfield.TextInputLayout>
否则,您可以将 MaterialShapeDrawable 应用到您的 EditText(或 TextView)。
在你的布局中定义:
<EditText
android:layout_width="match_parent"
android:layout_height="56dp"
android:id="@+id/edittext"
android:paddingStart="4dp"
android:hint="Name"/>
然后:
val radius = resources.getDimension(R.dimen.cornerSize8)
val textView: EditText = findViewById(R.id.edittext)
val shapeAppearanceModel = ShapeAppearanceModel()
.toBuilder()
.setAllCorners(CornerFamily.ROUNDED, radius)
.build()
val shapeDrawable = MaterialShapeDrawable(shapeAppearanceModel)
shapeDrawable.fillColor = AppCompatResources.getColorStateList(this,R.color.white)
ViewCompat.setBackground(textView, shapeDrawable)
【讨论】:
很简单,只需要设置背景可绘制
textview_background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="8dp" />
<solid android:color="@color/white" />
</shape>
文本视图:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/textview_background"
android:gravity="center_vertical"
android:padding="8dp" />
【讨论】:
只需在您的布局中创建一个 EditText 或使用 inputtype="Whatever you want" 的 TextView
喜欢这个
<EditText
android:id="@+id/plain_text_input"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:inputType="text"
android:text="First Name"
android:background="@drawable/textbackground"
/>
在drawable中创建textbackground.xml
drawable/textbackground.xml --
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners android:radius="5dp"/>
</shape>
</item>
</selector>
希望它有效
【讨论】: