انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تفاوت دیزاین برنامه (برنامه نویسی اندروید)

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#1
سلام به همه.
دوستان،در عکس ها نگاه کنید،برنامه من،در ماشین مجازی،یا گوشی،چه قدر حاشیه دارن،اما در خود نرم افزار ایکیلیپس،این حاشیه خیلی کمتره.
چرا و چه جوری رفع و رجوع میشه؟
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#2
سلام

میتونید با استفاده از 

کد:
android:layout_margin="1dp"
       android:layout_marginTop="1dp"
       android:layout_marginBottom="1dp"
       android:layout_marginRight="1dp"
       android:layout_marginEnd="1dp"
       android:layout_marginLeft="1dp"
       android:layout_marginStart="1dp"

فواصل بین View هاتون رو تنظیم کنید
پاسخ
 سپاس شده توسط batman1 ، admin ، zanyyy

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#3
داداش،چه ربطی داره؟!
من نمیخوام برنامم این قدر حاشیه داشته باشه،اگر هم داره،میخوام ازش استفاده کنم.
اون چه جوریه؟!
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#4
مگه منظور شما فواصل ما بین Button ها نبود؟

یا اگه منظورتون اون حاشیه اضافه سمت راست Layout هستش، محتوای فایل Layout.xml مربوطه رو بذارید تا بشه نگاش کرد و دلیلش رو فهمید.
پاسخ
 سپاس شده توسط batman1 ، admin ، zanyyy

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#5
منظور من دقیقا حاشیه سمت راست هست.
منظور شما این فایله:

http://s6.picofile.com/file/8235491918/a...c.xml.html


فایل‌های پیوست

دانلود activity_calc.xml

نام فایل activity_calc.xml
نوع فایل .xml
دفعات دانلود 202
اندازه 7.5 KB
ارسال کننده فایل batman1
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#6
بله همین فایل منظورم بود

نحوه چینش و تراز View های شما مشکل داشت و همچنین فاصله از سمت چپ و راست با هم مساوری نبودن ( که باید با توجه به عمودی و افقی بودن) در وسط صفحه قرار داشته باشد.
تمامی چینشهای شما از سمت چپ تراز و چیده شده اند.
در صورت نیاز میتونید اونها رو به سمت راست منتقل کنید
در حالت عمودی و افقی در وسط صفحه قرار میگیرد.
نحوه محاسبه به صورت 20+60+20 هستش
یعنی 60% برای طراحی شما در نظر گرفتم که در صورت تمایل میتونید اون رو با کم و زیاد کردن به اندازه مورد نیاز خودتون تغییر بدید
مثلا 15+70+15 ( باید روی هم 100 باشن )


کد:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="horizontal">

   <View
       android:id="@+id/vleft"
       android:layout_width="0dp"
       android:layout_height="match_parent"
       android:layout_weight=".20">

   </View>

   <RelativeLayout
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginLeft="5dp"
       android:layout_marginRight="5dp">

       <Button
           android:id="@+id/btn1"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginTop="89dp"
           android:text="1"/>

       <Button
           android:id="@+id/btn2"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btn1"
           android:layout_toRightOf="@+id/btn1"
           android:text="2"/>

       <Button
           android:id="@+id/btn3"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btn2"
           android:layout_toRightOf="@+id/btn2"
           android:text="3"/>

       <Button
           android:id="@+id/btn4"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btn3"
           android:layout_toRightOf="@+id/btn3"
           android:text="4"/>

       <EditText
           android:id="@+id/txtNumbers"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginTop="24dp"
           android:ems="10"
           android:hint="وارد کردن اعداد"
           android:maxLength="6">

           <requestFocus/>
       </EditText>

       <Button
           android:id="@+id/btn5"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_below="@+id/btn1"
           android:text="5"/>

       <Button
           android:id="@+id/btn6"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btn5"
           android:layout_toRightOf="@+id/btn5"
           android:text="6"/>

       <Button
           android:id="@+id/btn7"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btn6"
           android:layout_toRightOf="@+id/btn6"
           android:text="7"/>

       <Button
           android:id="@+id/btn8"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBaseline="@+id/btn7"
           android:layout_alignBottom="@+id/btn7"
           android:layout_alignLeft="@+id/btn4"
           android:text="8"/>

       <Button
           android:id="@+id/btn9"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_below="@+id/btn5"
           android:text="9"/>

       <Button
           android:id="@+id/btn0"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btn9"
           android:layout_toRightOf="@+id/btn9"
           android:text="0"/>

       <Button
           android:id="@+id/btnDat"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btn0"
           android:layout_toRightOf="@+id/btn0"
           android:text="."/>

       <Button
           android:id="@+id/btnMosavi"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btnDat"
           android:layout_toRightOf="@+id/btnDat"
           android:text="="/>

       <Button
           android:id="@+id/btnSum"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btn4"
           android:layout_toRightOf="@+id/btn4"
           android:text="+"/>

       <Button
           android:id="@+id/btnMenha"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btn8"
           android:layout_toRightOf="@+id/btn8"
           android:text="-"/>

       <Button
           android:id="@+id/btnZarb"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btnMosavi"
           android:layout_toRightOf="@+id/btnMosavi"
           android:text="X"/>

       <Button
           android:id="@+id/btnTaghsim"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBottom="@+id/btnoneoneback"
           android:layout_toRightOf="@+id/btnoneoneback"
           android:text="/"/>

       <Button
           android:id="@+id/btnDeleteNumbers"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_below="@id/btn9"
           android:layout_toLeftOf="@+id/btnMosavi"
           android:text="حذف اعداد"/>

       <TextView
           android:id="@+id/lblResult"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignBaseline="@+id/txtNumbers"
           android:layout_alignBottom="@+id/txtNumbers"
           android:layout_toRightOf="@+id/btnSum"
           android:hint="نتیجه"/>

       <Button
           android:id="@+id/btnoneoneback"
           style="?android:attr/buttonStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignTop="@+id/btnDeleteNumbers"
           android:layout_toRightOf="@+id/btnDeleteNumbers"
           android:text=">>"/>

       <Button
           android:id="@+id/btnAdadAval"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignLeft="@+id/btnDeleteNumbers"
           android:layout_below="@+id/btnoneoneback"
           android:text="اعداد اول"/>

   </RelativeLayout>

   <View
       android:id="@+id/vright"
       android:layout_width="0dp"
       android:layout_height="match_parent"
       android:layout_weight=".20">

   </View>
</LinearLayout>

موفق و پیروز باشید


فایل‌های پیوست

عکس(ها)
   
پاسخ
 سپاس شده توسط batman1 ، admin ، zanyyy

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#7
کارتون عالی بود.خسته نباشید.
اما راستش من متوجه نشدم که چه تغییراتی رو دادید!!
فقط ظاهرا یه دونه view اضافه کردید.
که من هم همین کاررو کردم و خواصش رو مثل واسه شما تنظیم کردم،اما اتفاقی نیوفتاد!
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#8
خواهش میکنم
در طراحی با RelatvieLayout  باید با دقت عمل کرد و View ها رو نسبت به هم دقیقا تنظم کنید

شما بعضیها رو نسبت به View بالایی خودش و بعضی هارو نسبت به View پایین و ... تراز کرده بودید . برای همین طراحی شما بسیار شکننده بود و با کوچکترین تغییری بهم میریخت. که همه رو براتون مرتب کردم.

دوم اینکه برای اینکه طرح اصلی ما همیشه در وسط صفحه باشه اومدیم طرح اصلی رو در یک لایه دیگه از نوع LinearLayout قرار دادیم و با استفاده از دو View خالی یکی در سمت چپ و دیگری در سمت راست . طرح اصلی خودمون رو وسط گذاشتیم و با استفاده از خاصیت Weigt یا وزن . اونها رو چیدیم . برای مثال من طرح اصلی رو گفتم که  60% از کل صفحه نمایش و حاشیه سمت چپ و راست 20% از صفحه نمایش رو بگیره  که در صورت نیاز میتونید اونها رو تغییر بدید
پاسخ
 سپاس شده توسط sohrabjam ، admin ، batman1 ، s.saeid ، zanyyy

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#9
دوست عزیز،شما ویجت جدیدی به Activity اضافه کردی؟
اگه اضافه کردی،چه ویجتی؟!
من الان گیج اینم!!
ممنون.
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#10
سلام

تنها کد اضافه شده قطعه کد زیر هستش که دوبار استفاده شده. برای پر کردن فضاهای خالی 
یکی برای فضای خالی سمت چپ و یکی برای فضای خالی سمت راست 
تا با این کار بتونیم طرح اصلی رو در وسط قرار بدیم

کد:
<View
      android:id="@+id/vleft"
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight=".20">
پاسخ
 سپاس شده توسط batman1 ، admin ، zanyyy

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#11
ممنون.خیلی گُلی.
یه سوال دیگه:
من با اینکه ابزارها به هم مربوط هستند،مشکل دارم.
مثلا وقتی ویجت X رو جا به جا میکنی،ویجت Y هم جا به جا میشود.
همه align ها رو هم حذف میکنم،اما گاها بازم خودش میسازه.
من نمیخوام ویجت ها به هم ربط داشته باشن.
اینو چی کار کنم.
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#12
در RelativeLayout راهی وجود نداره
چون این Layout میاد و View ها رو برمبنای روابط بین اونها تراز و چینش میکته
برای مثال : میگیم btn1 زیر btn2 و در سمت راست btn3 باشه
حالا اگه شما هر از این btn ها رو بدون در نظر گرفتن روابط بین اونها جابجا کنید چینشتون بهم میخوره و ممکنه بهتون پیغام خطا هم بده
پاسخ
 سپاس شده توسط admin ، batman1 ، zanyyy

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#13
به نظر دوستان،بهترین ابزار برای نمایش یک متن عریض و طویل،چی هست؟
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#14
ممنون میشم جواب منو بدید.
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#15
بهتر بود یک تایپیک با موضوع جدا میزدید.
از اسکرول استفاده کنید واسه متن طولانی
پاسخ
 سپاس شده توسط admin ، batman1 ، zanyyy

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#16
(۱۳۹۴/۱۱/۰۸, ۱۱:۴۴ ق.ظ)mahdi10539 نوشته: در RelativeLayout راهی وجود نداره
چون این Layout میاد و View ها رو برمبنای روابط بین اونها تراز و چینش میکته
برای مثال : میگیم btn1  زیر btn2 و در سمت راست btn3 باشه
حالا اگه شما هر از این btn ها رو بدون در نظر گرفتن روابط بین اونها جابجا کنید   چینشتون بهم میخوره و ممکنه بهتون پیغام خطا هم بده

آقا شرمنده من هی سوال میپرسم.
من گیج طراحیه اندرویدم.(طراحیش از کدنویسیش سخت تره!!)
شما دوتا ابزار View به اکتیویتی اضافه میکنید یا اینکه کدهای(منظورم فایل xml هست) View رو خودتون در بالا و پایین صفحه مینویسید؟
این دستورات داحل xml حتما باید یکی بالا و یکی پایین باشه؟(منظورم view ها هست)
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#17
ببینید فکر کنم یکم با اصطلاحات سوئتفاهم برای شما پیش اومده

در اندرود به ابزارهای استفاده شده مانند: Button,TextView,EditText,....      یا غیرو...... View یا ویو گفته میشه

به صفحات یا فرمهایی که ما میزاریم Activity و به طراحی های ما که در بخش Layout و با پسوند xml هستند Layout گفته میشه

حالا با این تفاصیل

من به کدهای Activity شما دست نزدم
فقط در بخش طراحی شما یعنی فایل Layout.xml مربوطه . دو تا View یا بقول شما ویجت که نامشون اتفاقا تنها View خالی هستش اضافه کردم.

کد:
<View
     android:id="@+id/vleft"
     android:layout_width="0dp"
     android:layout_height="match_parent"
     android:layout_weight=".20">


در طراحی و کار با RelativeLayout مهم نیست شما کدهای مربوط به طراحی رو اول مینویسید یا اخر
مهم این هستش که با کدام View (Button,TextView,...) یا غیرو اونها رو تنظیم یا چینش میکنید.
برای اینکه مکان نوشتن کدها مهم نیست. جایی که ما میگیم باید باشه مهم هستش
مثلا : میگیم Btn1 باید در سمت راست btn2  قرارداشته باشه.

حالا btn2 هرجای طراحی ما که قرار داره . btn1 میره و دقیقه سمت راستش قرار میگیره. بدوم اینکه مهم باشه ما کدهای btn1 رو اول نوشتیم یا اخر.

در تصویر پیوستی نگاه کنید من کدهای مربوط به btn1 رو اول نوشتم و کدهای مربوط به btn2 رو دوم نوشتم.
در حالی که موقع نمایش bnt2 اول و btn1 بعد از اون نمایش داده شده


فایل‌های پیوست

عکس(ها)
   
پاسخ
 سپاس شده توسط admin ، batman1 ، zanyyy

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#18
آخه ما یه ویجتی داریم به اسم View ،که مثل یک قاب خالی میمونه.
میخواستم ببینم که شما از اون استفاده کردید؟
آخه کدهاش،خیلی مثل کدهایی هست که در در قسمت xml نوشتید.
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#19
بله دقیقا همون هستش
یه قاب خالی بدون هیچ چیزی جهت پر کردن فضاهای خالی
پاسخ
 سپاس شده توسط batman1 ، zanyyy

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

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

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#21
این View هم جزیی از طراحیه شما هستش
مثل Button ,TextView,EditView,....
فرقی نمیکنه اول بزارید یا اخر
میتونید مثل خودتون که اول طراحی کردید بعدش View اضافه شد
میتونید هم از همون اول View ها رو بزارید بعدش Button و بقیه موارد و اضافه کنید
مهم اینه که در اخر کار اون چیزی که میخواید دقیقا از اب دربیاد.
پاسخ
 سپاس شده توسط batman1 ، admin

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#22
بعد اونوقت این دوتا ویجت View ،روی هم میوفتن،یا اینکه نه،یکیشون نیمی از صفحه رو پر میکنه و یکی دیگه شون نیمی دیگر؟
یا اینکه یکیشون بالا و یکیشون پایین؟
بعدش واحد weight چیه؟
شما ظاهرا نقطه گذاشتید!!
پاسخ

تفاوت دیزاین برنامه (برنامه نویسی اندروید)

#23
نه روی هم نمیفتن
بستگی به طراحی شما داره
برای مثال در طراحی بالا من یکیش رو در سمت چپ و دیگری رو در سمت راست قرار دادم
برای اینکه در تمامی گوشها و سایزهای مختلف Screen همیشه در وسط صفحه باشه از weight یا وزن استفاده کردم
این Attrib میاد و به اندازه تعیین شده از صفحه نمایش رو میگیره
برای مثال : گفتیم 20% از سمت راست و 20% هم از سمت چپ که در برنامه به این صورت تعیین میشه

کد:
.20
android:layout_weight=".20"



نکته :  برای استفاده از weight حتما باید width رو 0dp تعیین کنید
در غیر این صورت weight  عمل نخواهد کرد چون اولویت width بالاتر هستش


کد:
<
    android:layout_width="0dp"
    android:layout_weight=".20"
پاسخ
 سپاس شده توسط admin ، batman1 ، zanyyy ، شماره مجازی امارات


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان