0
내가 수익을 설정 설치 1. TOP_LEFT에서, 내가 제대로 작동하려면 onTouch() false를 반환해야 할 이유를 이해 내가 해달라고,전환/애니메이션 (onTouchListener) 그래서 여기
을 BOTTOM_RIGHT하기, 간단한 천이의 코드 사실, 하나의 터치만으로 카운터를 0에서 3으로 설정하거나 단순히 카운터에 2 또는 3을 더하고 대부분의 시간은 현재 위치로 유지됩니다.
2. return false를 설정하면 프로그램이 제대로 실행되고 작성된 내용, 즉 카운터 ++를 수행합니다.
public class MainActivity extends AppCompatActivity {
Button b;
TextView tv;
public static int counter_button=0,counter=0;
RelativeLayout.LayoutParams old_rules;
RelativeLayout rl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b= (Button) findViewById(R.id.b1);
tv= (TextView) findViewById(R.id.tv1);
rl= (RelativeLayout) findViewById(R.id.rl);
old_rules= (RelativeLayout.LayoutParams) b.getLayoutParams();
rl.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
my_changes_touch();
return false;
}
});
}
public void my_changes_touch(){
RelativeLayout.LayoutParams rules= new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
if(counter%2==0) {
counter++;
tv.setText(" "+counter);
rules.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
rules.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
b.setLayoutParams(rules);
rules.height=400;
rules.width=400;
b.setLayoutParams(rules);
getContentTransitionManager().beginDelayedTransition(rl);
} else {
counter++;
tv.setText(" "+counter);
b.setLayoutParams(old_rules);
getContentTransitionManager().beginDelayedTransition(rl);
}
}
}
을 확인하지만 여전히 onTouch 방법은 2 번 호출 진정한 복귀 이유를 이해 해달라고 false를 반환 할 때 1 시간이라고하세요, 도와주세요 –