我想达到类似于此处所示的效果: https://codepen.io/martinwolf/pen/DkKgJ
我尝试了以下内容:
<FrameLayout
android:id="@+id/field_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/field"
android:layout_width="match_parent"
android:layout_height="20dp"
android:text="This is a very long headline, maybe even too long for this box."/>
<View
android:layout_gravity="right"
android:layout_width="30dp"
android:layout_height="match_parent"
android:background="@drawable/bg_gradient_to_white"/>
</FrameLayout>
bg_gradient_to_white
是从透明(#00000000)到纯白(#FFFFFFFF)的渐变。然而,这似乎不起作用,我没有注意到右边缘完全褪色。或者,如果EditText允许显示省略号,我也会没问题。对于上面的例子,我将是“这是一个非常长的标题,也许......”。
任何帮助将不胜感激!
答案 0 :(得分:1)
如果您想以编程方式执行此操作:
mNameTextView.measure(0, 0);
Shader textShader=new LinearGradient(0, 0, mNameTextView.getMeasuredWidth(), 0,
new int[]{Color.BLACK, Color.WHITE},
new float[]{0, 1}, Shader.TileMode.CLAMP);
mNameTextView.getPaint().setShader(textShader);
这对我有用