ورود

View Full Version : قرار دادن یک کنترل در پایین صفحه



pbm_soy
پنج شنبه 10 مهر 1393, 04:53 صبح
چطوری می توانم یک کنترل مانند باتن یا تصویر را در انتهای صفحه قرار بدم
به عنوان مثال در اکتیوتی زیر سعی کردم انجام بدم ولی نشد البته شاید به لایوتهای دیگر میشد انجام داد بیشتر میخواستم باروش خطی انجام دهم



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" >

<TextView
android:id="@+id/txtv_auther"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/auther_text"
android:textSize="15sp"
android:textStyle="bold" />

<TextView
android:id="@+id/txtv_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/link_text"
android:textSize="15sp"
android:textStyle="bold" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom" >

<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image1" />
</LinearLayout>

</LinearLayout>


اگر به کد بالا دقت کنید لایوت اصلی را در حالت center تنظیم کردم برای اینکه کل محتوی در وسط صفحه دیده بشه ولی حالا می خواهم فقط تصویر آخری که قرار دادم در انتهای صفحه دیده بشه ولی اون تصویر هم میرود بالا بخاطر center بودن لایوت اصلی!
میخواستم بپرسم که چطوری میتونم تصویر آخر مستقل از کنترلهای بالایی کنم و در انتهای صفحه نمایش دهم

saeed_g21
پنج شنبه 10 مهر 1393, 13:47 عصر
ببیند همچین چیزی میخواستین ؟

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" >

<TextView
android:id="@+id/txtv_auther"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="150dp"
android:text="@string/auther_text"
android:textSize="15sp"
android:textStyle="bold" />



<TextView
android:id="@+id/txtv_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/link_text"
android:textSize="15sp"
android:textStyle="bold" />


<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="200dp" >


<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:src="@drawable/image1" />


</RelativeLayout>
</LinearLayout>

pbm_soy
جمعه 11 مهر 1393, 01:27 صبح
خیر متاسفانه با این کد به نتیجه نرسیدم اولا و دوتا TextView که باید وسط نمایش داده میشد ، نمایش داده نمیشه و دوما تصویر به پایین صفحه نمیچسبد و فاصله زیادی دارد!

اگه خط android:layout_marginTop="200dp" را اط 200 به 250 تغییر بدم تقریبا به پایین میچسبه ولی اگر گوشی landscap شود دیگر اصلا این تصویر دیده نمیشود! فکر می کنم این عدد مشکل ایجاد کند در صفحات با اندازه های متفاوت!

میخواستم یک لایوت مستقل از هر نوع صفحه ای ایجاد کنم و همینطور textViewها وسط صفحه باشند و تصویر هم به انتهای صفحه بچسبد!
البته اگه تصویر را بصورت زمینه رو لایوت بندازم مشکل حل میشود ولی تصاویر زمینه هم در دستگاههای مختلف با کیفیت تصاویر مختلف کمی مشکل ساز میشوند و باید برای این منظور کاربیشتری انجام دهم!
دنبال یک روش ساده و راحتتر هستم

StoPpeR
جمعه 11 مهر 1393, 09:32 صبح
دلیل خاصی وجود داره که حتما باید از خطی استفاده کنید؟
با relative همه این کار هایی که گفتین فقط با دستورات نیم خطی قابل انجامه...

pbm_soy
جمعه 11 مهر 1393, 23:34 عصر
من نگفتم که حتما با خطی باشه!
باهرچی که اینکار امکان پذیر باشد لطفا بگید

StoPpeR
جمعه 18 مهر 1393, 12:11 عصر
من نگفتم که حتما با خطی باشه!
باهرچی که اینکار امکان پذیر باشد لطفا بگید

خب پس یه RelativeLayout بسازید و داخل اون آیتمی که می خواید بچسبه پایین این کد رو قرار بدید:

android:layout_alignParentBottom="true"