قراردادن ویوگروپها زیر همدیگه

پرسیده شده
فعالیت 1442 روز پیش
دیده شده 957 بار
0

سلام

پروژه صفحه پروفایل رو فرض کنید لطفا.

ویوگروپ روت ما Relative Layout هست که محتوا درون ویوگروپ Constraint قرارداره که برای اسکرول شدن محتوا در صورت لزوم درون ScrollView قرار گرفته.

بالای ScrollView منوی Toolbar هست که یک TextViewی سادس و زیرش هم یه باتن ساده Save Information داریم.

اگر بجای یه TextView ساده در Toolbar بخوایم چند تا Text View قابل اسکرول بصورت افقی در کنار هم داشته باشیم. در اینصورت یه ویوگروپ Linear میخوایم که Orientationش افقی باشه که شامل محتوای ما یعنی TextView های ماست و برای اینکه ممکنه بعضی از این TextView ها نمایش داده نشن ویوگروپ Linear رو درون ScrollView قرار میدیم.

سئوال:

از اونجا که ویوگروپها مثل ویوهای معمولی id ندارن چطور در بدنه یکی از  ScrollViewها مشخص کنیم که یکی زیر یا بالای دیگری قرار بگیرد. چون صفت android:layout_above برای مقدار دهی نیاز به id ویوگروپ مقابل داره که با دادن id هم مشکل دیگری بوجود میاد. پس این راه حل نیست. 

راه حل چیست؟

لطفا راهنمایی بفرمایید. ممنون

 

فایل پیوست

پژمان آزاد
پژمان آزاد

24 اردیبهشت 99

1
حذف شده

سلام پژمان عزیز

حقیقت لازمه نکته ای رو بگم که ویوگروپ هم میتونه id بگیره اما کاربردش کجاست؟کاربردش خیلی جاها میتونه باشه که من همین دیروز به این کاربرد رسیدم اونم در جاهیی بود که میخواستم فرم سفارشی درست کنم که لازم بود وقتی کاربر روی باتنی کلیک کرد قسمتی از اون فرم محو بشه پس بهترین راه حلی که به ذهنم رسید این بود که ای دی برای ویوگروپم ست کنم و اونو در کد جاوا با متد setVisibility , مخفی کنم بگذریم .

اما سوال اصلی اگر منظور شما این هست چگونه ی حالت اسلایدر توی تولبارمون با چند تا تکست ویو به وجود بیاریم 

1- این کار اصلا کار مناسبی نیست اما پاسخ : شما میتونی از HorizontalScrollView استفاده کنین که اون تکست ها رو داخل یک لینیر لیوت هوریزونتال قرار داده و اون لینیر رو داخل HorizontalScrollView قرار داده و این باعث میشه حالت اسکرولی افقی قرار بگیرند 

که اگر روت کل صفحه رو لینیر لیوت در نظر بگیریم به خودی خود ایتم ها زیر هم نمایش داده میشوند ولی اگر از رلتیو استفاده کنیم با اتربیوت above یا below میتونین ویو گروپ رو ست کنین

البته اگر سوال رو اشتباه متوجه شدم بفرمایید تصحیح کنم

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

24 اردیبهشت 99

حذف شده
آقا پوریا ممنون از راهنماییت ولی صفات above و below برای زیر هم قرار دادن دو تا ویوگروپ در محیط Relative بعنوان پرنت، جواب نمیده و یکیش فقط نمایش داده میشه. از صبح دارم روش کار میکنم تمام اطلاعاتمو بکار بستم و همه راهها رو تست کردم ولی نمیشه متاسفانه
پژمان آزاد

24 اردیبهشت 99

حذف شده
صفت below و above برای فرزند های رلتیو لیوت کار میکنه هااااااا
پوریا شفیعی

24 اردیبهشت 99

0
حذف شده

بله اگر طرف مقابل یه ویوی ساده باشه. بله کاملا. حتی من برای امتحان، یه باتن ساده جایگزین یکی از ویوگروپها کردم و از درون باتن، صفت layout_below رو براش نسبت به ویوگروپ مجاور که ScrollView به همراه محتواش هست، ست کردم زیر محتوای ویوگروپ ScrollView مخفی میشه(هر چند ناچار شدم برای ScrollView یه id ست کنم) ولی به محضی که صفت layout_above رو به بدنه ScrollView منتقل میکنم قشنننگگ همه چیز درست میشه!!!

 

آقا پوریا یه بار خودت در محیطRelative یه محتوا که ویوگروپ روتش ScrollView باشه در کنار باتن ساده امتحان کن. سعی کن با روش بالا اینا رو زیر هم بذاری. ببین اگر صفت layout_above رو درون بدنه ویوگروپ ScrollView بذاری، نسبت به باتن ساده جواب میده؟

 

فایلهای پروژه رو ضمیمه کردم.

 

اگر نتیجه گرفتی لطفا اینجا بهم اطلاع بده .ممنون از تو

فایل پیوست
LayoutTuts.zip
140.12 KB

پژمان آزاد

توسط

پژمان آزاد

25 اردیبهشت 99

0
حذف شده

سلام آقا پژمان. می بخشید ها.

سوالاتتون رو طولانی میپرسید ولی در حین حال گنگ.

واضح تر بپرسید فکر کنم بهتر بشه کمک کرد. 

فایل پیوست

احمد اسماعیلی

توسط

احمد اسماعیلی

26 اردیبهشت 99

حذف شده
درود بر شما کدوم قسمتش گنگ هست آقای اسماعیلی؟
پژمان آزاد

26 اردیبهشت 99

حذف شده
کلا برام گنگه. اگه چیزی رو که میگید مثلا روی کاغذ یا توی نرم افزار نقاشی ویندوز توضیح بدید و که دقیقا چی مد نظرتونه و با توجه به اون مشکلتون رو بگید بهتر میشه راهنمایی کرد. بعضی چیزا رو نمیشه فقط نوشتاری فهمید.
احمد اسماعیلی

27 اردیبهشت 99