View Full Version : متوقف کردن اسکرول شدن یک HorizontalScrollView
meh_ham
چهارشنبه 20 دی 1391, 20:25 عصر
سلام
من یک HorizontalScrollView دارم که چندتا Button داخلش هست که با کلیک/لمس روی هر Button صدای خاصی تولید میشه. میخواستم بدونم چطور میشه اون HorizontalScrollView رو موقتا از اسکرول شدن باز داشت و ثابتش کرد؟ مثلا یه Button تعریف بشه که وقتی کاربر روش کلیک کرد، اون HorizontalScrollView دیگه اسکرول نشه و ثابت بمونه.
ممنون.
hamid_hr
پنج شنبه 21 دی 1391, 08:48 صبح
سلام
اينو تست كردي
.setIsScrollable(false);
meh_ham
پنج شنبه 21 دی 1391, 13:08 عصر
ممنون ولی کار نکرد.
این همون قطعه کد هست که می خوام انجام بدم ولی h_scroll.setEnabled(false); برای API12 به بالا هست...
Button btn_s = (Button) findViewById(R.id.button999);
final HorizontalScrollView h_scroll = (HorizontalScrollView) findViewById(R.id.horizontalScrollView1);
btn_s.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
h_scroll.setEnabled(false);
}
});
hamid_hr
پنج شنبه 21 دی 1391, 15:54 عصر
بالاخره يافتم
h_scroll.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return true;
}
});
meh_ham
پنج شنبه 21 دی 1391, 19:21 عصر
hamid_hr (http://barnamenevis.org/member.php?25531-hamid_hr) ممنون ازت!
این هم کدی که من برای این کار نوشتم:
Button btn_s = (Button) findViewById(R.id.button999);
final HorizontalScrollView h_scroll = (HorizontalScrollView) findViewById(R.id.horizontalScrollView1);
btn_s.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(!return_h_scroll){
return_h_scroll = true;
}
else
return_h_scroll = false;
}
});
h_scroll.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return return_h_scroll;
}
});
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.