ورود

View Full Version : ساخت منویی از تصاویر(مانند یک گالری افقی)



meh_ham
شنبه 21 دی 1392, 16:01 عصر
با سلام
چطور می‌توان یک منو ساخت که در آن آیتم‌های منو هر کدام یک تصویر باشند که توسط کاربر انتخاب می‌شوند. برای مثال تصویر موجو در لینک زیر:
http://upcity.ir/images2/72512808350119616076.jpg
در صورت وجود لینک‌ بدهید.
ممنون.

shahin bahari
شنبه 21 دی 1392, 22:19 عصر
از HorizontalScrollView استفاده کنید.
داخلش هم imageView هایی که لازم هست رو بزارید و برای همه یه onClickListener بزارید. در کل واسه ساده تر شدن قضیه یه کلاس جدید بسازید و اون رو از HozizontalScrollView مشتق کنید. imageView هایی که میخواید بسازید رو داخل یه LinearLayout بزارید و در آخر اون رو به HorizontalScrollView اضافه کنید. دلیل اینکه میگم اول تو یه Layout دیگه بزارید برای قضیه مارجین دادن و این حرف هاست.
برای اینکه این layout هیچ listener برای اسکرول این ها نداره onTouch رو implements کنید و توی اون چپ و راست رفتن رو خودتون از مقدار مختصات بنویسید. برای اینکه بتونید عکسی که انتخاب شده رو وسط نگه دارید از متد smoothScrollTo(x, 0); استفاده کنید.
دیگه نکته اضافی به ذهنم نمیرسه و با همینا که گفتم راحت میتونید بسازیدش. فکر نکنم کلاسش 200-300 خط هم بیشتر بشه.
موفق باشید.

rubiks.kde
شنبه 21 دی 1392, 22:40 عصر
برای اینکه این layout هیچ listener برای اسکرول این ها نداره onTouch رو implements کنید و توی اون چپ و راست رفتن رو خودتون از مقدار مختصات بنویسید. برای اینکه بتونید عکسی که انتخاب شده رو وسط نگه دارید از متد smoothScrollTo(x, 0); استفاده کنید.

نیاز نیست چنین کاری بکنیم تنها لازمه اسکرول رو بردارید برای این هم لازمه تا خاصیت زیر رو به اسکرول ویو بدید.با این کار خاصیت اسکرول خوردن وجود داره ولی اسکرولی دیده نمیشه
android:scrollbars="none"

shahin bahari
شنبه 21 دی 1392, 22:53 عصر
نیاز نیست چنین کاری بکنیم تنها لازمه اسکرول رو بردارید برای این هم لازمه تا خاصیت زیر رو به اسکرول ویو بدید.با این کار خاصیت اسکرول خوردن وجود داره ولی اسکرولی دیده نمیشه
android:scrollbars="none"
این خاصیت چطور از این که مقداری اسکرول بشه که عکس اول تو 30% صفحه باشه و عکس دوم توی 70% صفحه جلوگیری میکنه؟! ( نمیدونم منظور رو خوب گفتم یا نه! به جای اینکه فقط 1 تصویر وسط تصویر باشه,2 تا تصویر تو نیمه چپ و راست صفحه داشته باشیم.)
به هر حال برای اینکه مقدار اسکرول شدن گسسته بشه نیاز هست به این متد.

rubiks.kde
شنبه 21 دی 1392, 23:13 عصر
اگه هدف این باشه که دقیقا یکی به یکی تغییر کنه ، بله درسته باید با استفاده از متدهای touch این کنترل رو اعمال کنند.
پس علاوه بر این نیاز هست تا اندازه آیتم ها نیز باتوجه به اندازه خود اسکرول تغییر کنه والا توی یه اندازه هایی شاید اصلا نیاز به اسکرول نباشه و تمام آیتم ها دیده بشن.