آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تنظیم اسکرول ویو و لیست ویو

mahdiFar77  10 سال پیش  9 سال پیش
0 0

با سلام

در صفحه 5 تا layout دارم و یک لیست ویو

میخام وقتی 3 تا از layout اسکرول شد دیگه اسکرول نشه و لیست ویویی که دارم اسکرول بشه

ممنون میشم راهنمایی کنید که چکار کنم یا تو اینترنت دنبال چی بگردم؟

 

+2 0
خیلی دوست دارم کمکت کنم ولی متاسفانه نفهمیدم منظورت چیه (10 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
mahdiFar77  10 سال پیش
0 0

میخام وقتی اسکرول میکنه تا نوع سرویس اسکرول بشه بعد شرح گروه و شرح منو باقی بمونه و زیرش یه لیست ویو هست و میخام اون اسکرول بشه .خیلی گشتم ولی نمیدونم دنبال چی بگردم .خیلی گیج شدم

+1 0
خب اون دو تای دیگه را از اسکرول خارج کن و توی یه لایه دیگه بزار (10 سال پیش)
0 0
اگه اسکرول خارجش کنم دیگه بالا نمیره. و لیست ویوهم کلا اسکرول نمیشه (10 سال پیش)
+1 0
خب از چند تا اسکرول استفاده کن (10 سال پیش)
0 0
ممنون از راهنماییتون ولی چیزی که میخام اینه:وقتی کاربر اسکرول میکنه 2 حالت داره که یا روی لیست ویو اسکرول میکنه یا یا روی لایه اصلی.میخام وقتی روی لایه اصلی اسکرول میکنه اسکرول بشه بره بالا تا شرح منو و گروه و اگر روی لیست ویو اسکرول کرد فقط لیست ویو اسکرول کنه که من پیشفرض لیست ویو رو طولش رو 400dp قرار دادم که تا همین حد اسکرول میکنه و آیتمهای دیگر رو اسکرول نمیکنه. (10 سال پیش)
+1 0
والا چون نگ زمینه یکی هست درست نمی فهمم کدام قسمت ها را میگی گیج میشم :-) (10 سال پیش)
+1 0
من منظورتون دقیق فهمیدم ولی میشه اول بگی چرا حالا میخوای تا گزینه شروع سرویس اسکرول بشه؟.این حالت مدنظر شما با حالتی که فقط لیست ویو زیر اسکرول بشه چقدر مگه تفاوت داره؟اینکه اون پنج تا آیتم بالا فیت بشن.بعد لیست ویو اسکرول بشه چرا مدنظرتون نیست؟ (10 سال پیش)
پاسخ به سوال 
خواست خدایی  10 سال پیش
+2 0

دمت گرم رفیق چه چالشی واسه خودت درست کردی
یه کوچولو سخته
فک کنم باید position ها رو بخونی بر اساس اون تصمیم بگیری
یعنی مثلا میگی اگر فلان ایتم رسید به بالای صفحه این اسکرول اجرا بشه
من تا الان دیدم میشه آخرین آیتم صفحه رو خوند. ولی اولیش رو نخوندم
این لینکو یه نگاه بنداز -- لینک --

پاسخ به سوال 
بهروز  10 سال پیش
+1 0

همون طور که گفتم من دلیل اینکارت نمیدونم.اما با این حال روش زیر میتونی استفاده کنی

لایه اصلیت اسکرول ویو قرار بده. و سه تا لایه هم درونش .مثل شکل زیر

اما اگه اینکار رو کنی چند تا چیز باید قبلش رعایت کنی.

اولا لیست ویوت باید بتونه داخل scrollView  ، اسکرول کنه. واسه اینکار میتونی کد زیر استفاده کنی

 my-list.setOnTouchListener(new ListView.OnTouchListener() {



@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:

v.getParent().requestDisallowInterceptTouchEvent(true);
break;

case MotionEvent.ACTION_UP:

v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}

v.onTouchEvent(event);
return false;
}

پس با کد بالا مشکل اسکرول لیست ویوت رفع میشه.

دومین مشکل : وقتی صفحه والد رو Scrollview میزاری.بچه هایی که درونش قرار میدی.کل صفحه رو نمیگیرن.

پس باید این قابلیت به اسکرول ویو خودت بدی.با کد زیر:

 android:fillViewport="true"

حالا مشکل سوم اینه که .اسکرول تا ویو سوم (نوع سرویس) پیش بره.واسه اینکار چیزی که الان به ذهنم میرسه روش زیر هست: فرض کن لایه ای که میخوای تا اونجا اسکرول ادامه پیدا کنه  نامش اینه layer3

 
private final void stopScroll(){
new Handler().post(new Runnable() {
@Override
public void run() {
my_scroll.scrollTo(0, layer3.getBottom());
}
});
}

متد بالا باعث میشه تا پایین لایه 3 اسکرول  صورت بگیره .و بعدش متوقف میشه.

فقط بدون که لیست ویوت باید ارتفاعش به حدی کافی زیاد باشه که اسکرول صورت بگیره.!

در آخر من بازم دلیل این همه سختی رو نمیدونم که بخودت میدی)))

0 0
سختی نیست دوست عزیزم فکر کنید کاربر در هر سفارش فقط یکبار با گزینه های نوع میز ،شماره میز و نوع سرویس کار داره پس یعنی باید وقتی اسکرول میکنه این سه تا اسکرول بشن ولی شرح گروه و شرح منو چون باهاشون مدام کار داره نباید اسکرول بشه و در زیرشون لیست ویو لیست سفارش هایی هست که داده و باید کامل نشون داده بشه. (10 سال پیش)
0 0
راه حل بهتری دارین؟ (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .