Ich denke Google tut es mit ViewAnimationUtils.createCircularReveal
.
Hier ist, wie ich diesen Effekt erreicht (beachten Sie, es ist für api 21 und höher)
Beachten Sie auch, dass ich Berührungspunkt für eine bessere UX
verwenden, so müssen wir folgendes: selector_line_bellow.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true"
android:state_focused="true">
<layer-list>
<item android:bottom="-25dp">
<shape android:shape="line">
<solid android:color="@android:color/transparent"/>
<stroke
android:width="3dp"
android:color="#017ba7"/>
</shape>
</item>
</layer-list>
</item>
<!-- default-->
<item >
<layer-list>
<item android:bottom="-25dp">
<shape android:shape="line">
<solid android:color="@android:color/transparent"/>
<stroke
android:width="3dp"
android:color="#11017ba7"/>
</shape>
</item>
</layer-list>
</item>
</selector>
unsere EditText
wird wie folgt aussehen
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:background="@drawable/selector_line_bellow"
android:layout_margin="@dimen/margin_big"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:layout_height="wrap_content"/>
und letzte Note ist in Ihrer Aktivitätsklasse oder wo auch immer diese EditText
wird hinzufügen, um dieses Stück
editText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN) {
ViewAnimationUtils.createCircularReveal(editText,
(int) event.getX(),
(int) event.getY(),
0,
editText.getHeight() * 2).start();
}
return false;
}
});
Der Link ist unten Code verwendet werden. Bitte beziehen Sie sich auf einen gültigen Link. –
Entschuldigung für die Unannehmlichkeiten, hier ist Github Repo [Link] (https://github.com/GitHub-Tech/EditText-Line-Animation) –