0

我对 Android 比较陌生。

描述 -

我有一个LinearLayoutwith TextView。我正在TextView动态添加。

当我触摸它时TextView,我想要它ScaleUp,当我TextView再次触摸它时,我想要它ScaleDown

我的问题是——

  1. 当一个TextViewscaled up并且任何其他TextViewtouched。旧的TextView应该scale down和新的touched TextView应该scale up
  2. 当我触摸 a 时scaled up TextView,它TextView应该按比例缩小。

这是我尝试过的

我有 2 组 xml。1 用于放大

<set xmlns:android="http://schemas.android.com/apk/res/android">
 <scale
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:toXScale="3.0"
    android:toYScale="3.0" >
</scale>

另一个用于缩小

<set xmlns:android="http://schemas.android.com/apk/res/android">
 <scale
    android:fromXScale="3.0"
    android:fromYScale="3.0"
    android:toXScale="1.0"
    android:toYScale="1.0" >
</scale>

我的Activity课——

myTextView.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {

                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    if (myTextView.getAnimation() == null) {
                        Animation a = AnimationUtils.loadAnimation(
                                getBaseContext(), R.anim.scale_up);
                        a.setFillAfter(true);
                        v.startAnimation(a);
                    } else {
                        v.setOnTouchListener(new OnTouchListener() {
                            @Override
                            public boolean onTouch(View v1,
                                    MotionEvent event) {
                                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                                    Animation a1 = AnimationUtils
                                            .loadAnimation(
                                                    getBaseContext(),
                                                    R.anim.scale_down);
                                    a1.setFillAfter(true);
                                    v1.startAnimation(a1);

                                }
                                return true;
                            }
                        });
                    }
                }
                return false;
            }

        });
4

1 回答 1

1

制作一个 textview 集合并在其中存储状态。每次触摸时,您都会循环此集合并搜索正确的 textview 并用它做适当的事情。您还可以通过此集合搜索并检查哪些文本视图被放大或缩小,因为您自己管理状态。

于 2012-10-06T12:52:49.320 回答