<com.example.jinxiong.scrollandtransition.TestViewGroup
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="500dp"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@android:color/darker_gray"
android:orientation="vertical"
tools:context="com.example.jinxiong.scrollandtransition.MainActivity">
<com.example.jinxiong.scrollandtransition.TestView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/testView"
android:background="@android:color/holo_red_dark"
/>
</com.example.jinxiong.scrollandtransition.TestViewGroup>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final View viewGroup = this.findViewById(R.id.activity_main);
final View view = this.findViewById(R.id.testView);
viewGroup.setWillNotDraw(false);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
view.setTranslationY(view.getTranslationY() + 20);
}
});
viewGroup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewGroup.scrollBy(0, -500);
if (viewGroup.getScrollY() < -1500) {
viewGroup.scrollTo(0, 0);
}
}
});
}
TestView只是单纯的继承View 并没有做什么,只是在onMeasure onLayout onDraw中Log ,TestViewGroup 继承linearLayout 也只是在上面三个方法中Log,但是Log
的 结果不是很理解,当我testViewGroup.scrollBy的时候,只是调用了TestViewGroup的onDraw 而当我的testView.setTransation 的时候有时候基本什么都打印不出来
,有没有人了解这个啊,求解