Android EditText淡出溢出文本

时间:2016-08-11 21:57:00

标签: android android-layout

我想达到类似于此处所示的效果: https://codepen.io/martinwolf/pen/DkKgJ

呈现文字的屏幕截图: Screenshot

我尝试了以下内容:

<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允许显示省略号,我也会没问题。对于上面的例子,我将是“这是一个非常长的标题,也许......”。

任何帮助将不胜感激!

1 个答案:

答案 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);

这对我有用