Skip to content

Commit 3601bab

Browse files
author
luobl
committed
修复部分bug
1 parent 5974d3f commit 3601bab

File tree

4 files changed

+12
-15
lines changed

4 files changed

+12
-15
lines changed

res/layout/activity_main.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
android:id="@+id/cardView1"
1212
android:layout_width="match_parent"
1313
android:layout_height="wrap_content"
14+
android:clipChildren="false"
1415
>
1516
</com.chiemy.cardview.view.CardView>
1617

src/com/chiemy/cardview/MainActivity.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
public class MainActivity extends FragmentActivity implements OnCardClickListener{
2121
List<String> list;
2222
private TestFragment frag;
23-
private View contentView;
2423
@Override
2524
protected void onCreate(Bundle savedInstanceState) {
2625
super.onCreate(savedInstanceState);
@@ -37,7 +36,6 @@ private void initUI() {
3736
adapter.addAll(initData());
3837
cardView.setAdapter(adapter);
3938

40-
contentView = findViewById(R.id.contentView);
4139
FragmentManager manager = getSupportFragmentManager();
4240
frag = new TestFragment();
4341
manager.beginTransaction().add(R.id.contentView, frag).commit();
@@ -85,7 +83,6 @@ protected View getCardView(int position,
8583
}
8684
TextView tv = (TextView) convertView.findViewById(R.id.textView1);
8785
String text = getItem(position%list.size());
88-
System.out.println(">>>" + text);
8986
tv.setText(text);
9087
return convertView;
9188
}

src/com/chiemy/cardview/TestFragment.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ public View onCreateView(LayoutInflater inflater,
3030

3131
private void initUI(final View root) {
3232
root.setClickable(true);
33-
root.setOnClickListener(null);
33+
root.setOnClickListener(new OnClickListener() {
34+
@Override
35+
public void onClick(View v) {}
36+
});
3437
tv = (TextView) root.findViewById(R.id.textView);
3538
root.findViewById(R.id.button).setOnClickListener(new OnClickListener() {
3639
@Override
@@ -43,18 +46,18 @@ public void onClick(View v) {
4346
public void onAnimationEnd(Animator animation) {
4447
root.clearAnimation();
4548
root.setVisibility(View.INVISIBLE);
46-
view.setClickable(true);
49+
view.setEnabled(true);
4750
}
4851
});
4952
}
5053
});
5154
}
5255

5356
public void show(final View view,Bundle bundle){
57+
view.setEnabled(false);
5458
this.view = view;
5559
String text = bundle.getString("text");
5660
tv.setText(text);
57-
view.setClickable(false);
5861
ViewHelper.setRotationY(view, 0);
5962
ViewHelper.setRotationY(root, -90);
6063
root.setVisibility(View.VISIBLE);
@@ -63,6 +66,7 @@ public void show(final View view,Bundle bundle){
6366
.setDuration(300).setListener(null)
6467
.setInterpolator(new AccelerateInterpolator());
6568

69+
6670
ViewPropertyAnimator.animate(root)
6771
.rotationY(0).setDuration(200).setStartDelay(300)
6872
.setListener(new AnimatorListenerAdapter() {

src/com/chiemy/cardview/view/CardView.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ public boolean onTouchEvent(MotionEvent event) {
187187
*/
188188
private boolean goDown() {
189189
final View topView = getChildAt(getChildCount() - 1);
190-
if(!topView.isClickable()){
190+
if(!topView.isEnabled()){
191191
return false;
192192
}
193193
// topView.getHitRect(topRect); 在4.3以前有bug,用以下方法代替
@@ -196,7 +196,7 @@ private boolean goDown() {
196196
if (!topRect.contains((int) downX, (int) downY)) {
197197
return false;
198198
}
199-
topView.setClickable(false);
199+
topView.setEnabled(false);
200200
ViewPropertyAnimator anim = ViewPropertyAnimator
201201
.animate(topView)
202202
.translationY(
@@ -206,7 +206,7 @@ private boolean goDown() {
206206
anim.setListener(new AnimatorListenerAdapter() {
207207
@Override
208208
public void onAnimationEnd(Animator animation) {
209-
topView.setClickable(true);
209+
topView.setEnabled(true);
210210
removeView(topView);
211211
ensureFull();
212212
final int count = getChildCount();
@@ -248,12 +248,7 @@ private void bringToTop(final View view) {
248248
float tranlateY = ViewHelper.getTranslationY(view) + itemSpace;
249249
ViewPropertyAnimator.animate(view).translationY(tranlateY)
250250
.scaleX(scaleX).setDuration(200).alpha(1)
251-
.setInterpolator(new AccelerateInterpolator())
252-
.setListener(null).setListener(new AnimatorListenerAdapter() {
253-
public void onAnimationEnd(Animator animation) {
254-
255-
}
256-
});
251+
.setInterpolator(new AccelerateInterpolator());
257252
}
258253

259254
@Override

0 commit comments

Comments
 (0)