X Tutup
Skip to content

Commit 3e0ec1b

Browse files
author
Kaushik Gopal
committed
feat: using RxBus listen to taps and show the tap text event
1 parent 77a8537 commit 3e0ec1b

File tree

4 files changed

+68
-1
lines changed

4 files changed

+68
-1
lines changed

app/src/main/java/com/morihacky/android/rxjava/rxbus/RxBusFrag1.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import android.view.View;
88
import android.view.ViewGroup;
99
import butterknife.ButterKnife;
10+
import butterknife.OnClick;
1011
import com.morihacky.android.rxjava.MainActivity;
1112
import com.morihacky.android.rxjava.app.R;
1213

@@ -29,4 +30,11 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
2930
super.onActivityCreated(savedInstanceState);
3031
_rxBus = ((MainActivity) getActivity()).getRxBusSingleton();
3132
}
33+
34+
@OnClick(R.id.btn_demo_rxbus_tap)
35+
public void onTapButtonClicked() {
36+
_rxBus.send(new TapEvent());
37+
}
38+
39+
public static class TapEvent {}
3240
}

app/src/main/java/com/morihacky/android/rxjava/rxbus/RxBusFrag2.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,28 @@
33
import android.os.Bundle;
44
import android.support.annotation.Nullable;
55
import android.support.v4.app.Fragment;
6+
import android.support.v4.view.ViewCompat;
67
import android.view.LayoutInflater;
78
import android.view.View;
89
import android.view.ViewGroup;
10+
import android.widget.TextView;
911
import butterknife.ButterKnife;
12+
import butterknife.InjectView;
1013
import com.morihacky.android.rxjava.MainActivity;
1114
import com.morihacky.android.rxjava.app.R;
15+
import rx.Subscription;
16+
import rx.android.observables.AndroidObservable;
17+
import rx.functions.Action1;
18+
19+
import static com.morihacky.android.rxjava.rxbus.RxBusFrag1.TapEvent;
1220

1321
public class RxBusFrag2
1422
extends Fragment {
1523

1624
private RxBus _rxBus;
25+
private Subscription _subscription;
26+
27+
@InjectView(R.id.demo_rxbus_tap_txt) TextView _tapEventTxtShow;
1728

1829
@Override
1930
public View onCreateView(LayoutInflater inflater,
@@ -29,4 +40,41 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
2940
super.onActivityCreated(savedInstanceState);
3041
_rxBus = ((MainActivity) getActivity()).getRxBusSingleton();
3142
}
43+
44+
@Override
45+
public void onStart() {
46+
super.onStart();
47+
AndroidObservable.bindFragment(this, _rxBus.toObserverable()).subscribe(new Action1<Object>() {
48+
@Override
49+
public void call(Object event) {
50+
if (event instanceof TapEvent) {
51+
_showTapText();
52+
}
53+
}
54+
});
55+
}
56+
57+
private void _showTapText() {
58+
_tapEventTxtShow.setVisibility(View.VISIBLE);
59+
_tapEventTxtShow.setScaleX(1f);
60+
_tapEventTxtShow.setScaleY(1f);
61+
62+
ViewCompat.animate(_tapEventTxtShow)
63+
.scaleX(0f)
64+
.scaleY(0f)
65+
.setDuration(400)
66+
/*.withEndAction(new Runnable() {
67+
@Override
68+
public void run() {
69+
_tapEventTxtShow.setVisibility(View.INVISIBLE);
70+
_tapEventTxtShow.setAlpha(1f);
71+
}
72+
})*/;
73+
}
74+
75+
@Override
76+
public void onStop() {
77+
super.onStop();
78+
_subscription.unsubscribe();
79+
}
3280
}

app/src/main/res/layout/fragment_rxbus_frag1.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
android:text="@string/msg_demo_rxbus_1"/>
1414

1515
<Button
16+
android:id="@+id/btn_demo_rxbus_tap"
1617
android:background="@drawable/btn_round"
1718
android:layout_height="90dp"
1819
android:layout_width="90dp"

app/src/main/res/layout/fragment_rxbus_frag2.xml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<FrameLayout
3+
android:background="@color/blue"
34
android:layout_height="match_parent"
45
android:layout_width="match_parent"
5-
android:background="@color/blue"
66
xmlns:android="http://schemas.android.com/apk/res/android">
77

88
<TextView
@@ -13,4 +13,14 @@
1313
android:textSize="@dimen/text_xxlarge"
1414
android:textColor="@android:color/white"
1515
android:text="1"/>
16+
17+
<TextView
18+
android:id="@+id/demo_rxbus_tap_txt"
19+
android:visibility="invisible"
20+
android:layout_gravity="bottom|center_horizontal"
21+
android:layout_height="wrap_content"
22+
android:layout_width="wrap_content"
23+
android:paddingBottom="@dimen/activity_vertical_margin"
24+
android:textColor="@android:color/white"
25+
android:text="tap!"/>
1626
</FrameLayout>

0 commit comments

Comments
 (0)
X Tutup