دوره مجازی اندروید (جلسه 8): شروع کار با Xml و View های پایه اندروید

دسته بندی: اندروید
زمان مطالعه: 2 دقیقه
۲۴ تیر ۱۳۹۵

به نام خدا، سلام. توی این جلسه می خواهیم صفحه پروفایل کاربری رو به همراه هم پیاده سازی کنیم. برای پیاده سازی رابط کاربری در اندروید از xml استفاده می کنیم، بنابراین ابتدا با ساختار xml آشنا می شویم. بعد از آن با view های مختلف کار خواهیم کرد.

مطالب مطرح شده در این جلسه عبارتند از :

  • آشنایی با ساختار Xml و کاربردهای آن
  • معرفی Relative layout
  • معرفی Image Button
  • معرفی TextView
  • معرفی Button
  • معرفی Imageview
  • معرفی Toast
  • ست کردن رویداد کلیک بر روی view های مختلف
  • معرفی استاندارد های مختلف اندازه گیری اندروید

نکته ی مهم: برای حذف نوار بالای اکتیویتی (اکشن بار)، تکه کد زیر را با تگ style با نام AppTheme جایگزین کنید:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

نکته ی مهم: دوستانی که هنگام تغییر اکتیویتی پیش فرض با مشکل زیر رو به رو می شوند:

the activity must be exported or contain an intent-filter

تکه کد زیر را باید به فایل AndroidManifest.xml اضافه نمایند.

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

به عنوان مثال می خواهیم اکتیویتی ProfileActivity را به عنوان اکتیویتی پیش فرض انتخاب کنیم، ابتدا داخل فایل AndroidManifest جستجو می کنیم، هر جا که تکه کد بالا را دیدیم آن را Cut می کنیم، سپس آن را به این شکل به تگ مربوط به ProfileActivity اضافه می کنیم:

<activity
    android:name=".view.activity.ProfileActivity"
    android:label="اطلاعات کاربری"
    android:windowSoftInputMode="stateHidden">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
:: توجه

این مطلب یک جلسه از آموزش برنامه نویسی اندروید می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش برنامه نویسی اندروید

چه امتیازی به این مقاله می دید؟
نویسنده سعید شاهینی

جلسات دوره

نظرات کاربران

سحر خزعلی

Cannot parse result path string:
وقتی ران میکنم این ارورو نشون میده چیکار کنم؟

حسین یوسفی

یه سوال هم اینکه constraintlayout رو چطور به ریلاتیولایوت تبدیل کنم من عوض میکنم رنگ ریلاتیولایوت مشکی میشه

حسین یوسفی

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

سعید شاهینی

لازم نیست کانفیگوریشن رو عوض کنید، فقط طبق توضیحاتی که داخل صفحه جلسه دادم IntentFilter رو کات کنید و داخل تگ اکتیویتی که می خواید به صورت پیش فرض اجرا بشه Paste کنید

سپهر تابعیان

سلام استاد
هنگام Runبا ارور
‘Error runnig ‘app
The activity must be export or contain an intent-filterمواجه می شوم !
و دیگه حرف آر در فایل جاوا نمی شناسه (setContentView(R.layout.activity_pacticity)
لطفا راهنمایی بفرمایید.

سپهر تابعیان

هنوز به حرف R ایراد می گیرد !! و اپ اجرا نمی شود

سعید شاهینی

سلام دلیلش این هست که مشکلی در یکی از xml های پروژه تون وجود داره، باید چک کنید ببینید کدوم یک از لایوت هاتون ارور داره، با خط قرمز ارور نشون می ده

سعید شاهینی

سلام، داخل توضیحات جلسه این موضوع رو آموزش دادم که چطور این مشکل رو حل کنید

بهرام آزادی

با سلام
احتراما من تصویر بک گراند پروژه(همون تصویر بزرگ با طرح ماه) رو وقتی به پروژه اضافه میکنم حتی با وجود استفاده از دو خاصیت زیر استفاده میکنم ولی هنگام نمایش بر روی گوشی خودم که صفح نمایشش هم نسبتا بزرگ نیست ولی تصویر کوچک نمایش داده میشه و از سمت چپ و راست کل صفحه نمایش رو در بر نمیگیره
مشکل کجاست؟

ممنونم

 android:scaleType="fitCenter"
 android:adjustViewBounds="true"
موسوی

سلام واسه من این ویدیو دان نمیشه..یه پیج جدید باز میکنه و توی اون پخش میکنه…مشکل چیه ؟

Salar Ahmady

ضمن عرض سلام و خسته نباشید خدمت مدرس محترم این دوره
من یک سوالی داشتم . در پوشه values من پوشه dimens رو ندارم! فقط سه تا فایل xml هستش . الان تنظیماتی که رو به عنوان پیش فرض میخوام اضافه کنم کجا باید بزارم؟!

سید محمد وجدانی زاده

استاد سلام خسته نباشید
کار با این اکتیوینتی تموم شده فقط همه ی ویو ها تو بعضی از پلتفرم ها جا نمیشه مثلا دکمه ثبت میره بیرون راهنمایی کنید ممنون

سعید شاهینی

سلام وقت بخیر. خیلی خوبه که تونستید این صفحه رو به خوبی پیاده سازی کنید. راه حل مشکلی که گفتید رو جلسه 9 آموزش دادم. باید از ScrollView استفاده کنید

Saeed Hoseini

سلام استاد عزیز.در اندروید استدیوی من به ریلیتیو لیوت از کانستریت لیوت استفاده شده.میخواستم بدونم چطوری به ریلیتیو تبدیل میشه.منظورم اینه به طور کلی چطوری همه قابلیت های ریلیتیو بیاد.مثلا‌کانستریت من alignparentrightرو نداره.چطور به ریلیتیو تبدیل کنم‌مرسی اگر راهنمایی کنید.

سعید شاهینی

سلام وقت بخیر، اون خطی که ConstraintLayout تعریف می شه رو پاک کنید به جاش بنویسید RelativeLayout دقیقا مطابق چیزی که داخل ویدیو مشاهده می کنید

سید محمد وجدانی زاده

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

سعید شاهینی

سلام، پیشنهاد من اینه از constraint layout استفاده نکنید چون مشکلات زیاد داره. (حداقل فعلا تا موقعی که مشکلاتش برطرف شه)

Reza Ahmadzadeh

سلام
شما میتونید از موبایلتون به عنوان دستگاه مجازی استفاده کنی

سید محمد وجدانی زاده

بله

سعید شاهینی

سلام، لپتاپتون از نوع gaming هست؟

پایان زمان پشتیبانی

دانشجوی گرامی، بازه پشتیبانی فعال برای این دوره ۳ ماه است که برای شما به پایان رسیده است.

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

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.