دوره مجازی اندروید (جلسه 9): کار با view های اصلی اندروید

- visibility ۸۲ mode_comment

به نام خدا، سلام. در این جلسه صفحه پروفایل کاربری رو تکمیل می کنیم.

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

  • Linear Layout و attribute های آن
  • ساختن رابط کاربری با XML و تشریح اجزای مختلف رابط کاربری
  • Edit texts
    • آشنایی با attribute های xml برای EditText
    • اضافه کردن TextWatcher به EditText
  • Buttons
    • آشنایی با attribute های xml برای Button
    • کار با Event های کاربردی آن
  • Checkbox
    • آشنایی با attribute های xml برای Checkbox
    • کار با Event های کاربردی آن
  • Radio Buttons
    • آشنایی با attribute های xml برای Radio button
    • کار با Event های کاربردی آن
  • آموزش اضافه کردن فونت به پروژه و آشنایی با کلاس Typeface
    • اعمال کردن فونت های مختلف روی View های Textview, Button, EditText و ...
info توجه

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

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

comment دیدگاه کاربران
Desert

سلام استاد عزیز در اخرین قسمت این اموزش برای بنده مشکلی پیش امد . با راست چین کردن حالت نمایش اکتیویتی ترتیب قرار گرفتن گزینه های CheckBox تغییر کرد و به attribute ای که شما گفتید android:alignParentLeft در داخل CheckBox ها دسترسی نداشتم بنده و همجنین RadioButton ها هم چینششان تغییر کرد و چون فقط برای یکی margin ست شده بود کل چینش نظمش بهم ریخت ممنون می شم
1- کمک کنید دو مشکل بالا را حل کنم
2-ایا راح حلی وجود دارد به طور مثال درج در manifest که این تغییر چینش با تغییر زبان را غیر
فعال کنیم؟
3-سوال اخر این که برای EditText ایا نیازی به ست کردن فونت ن داریم؟

سعید شاهینی

سلام،
راه حل سوال 1 و 2: داخل فایل styles.xml، گزینه AppTheme رو پیدا کنید و صفت layoutDirection رو به اون اضافه کنید و مقدار rtl رو بدید. به این صورت همیشه اپلیکیشن راست به چپ خواهد شد.
راه حل سوال 3: اگه کل اپلیکیشن فونت داره، EditText هم باید فونت داشته باشه که از لحاظ بصری زیبا باشه.

بهرام آزادی

سلام
یه سوال
چرا فایل های پروژه هر بخش پیوست به هر قسمت نیست؟

سعید شاهینی

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

Zeinab Fallah

سلام استاد من دارم با ورژن جدید 2.3.3 کار میکنم و از constraintlayout به صورت پیش فرض استفاده میشه وقتیکه Imageview میذارم و با ماوس میرم روی اون layout_width و layout_height از حالت match_parent خالرج میشه داخل سایت اندروید این مطلب رو خوندم آیا دیگه constraintlayout حالت match_parent رو ساپورت نمیکنه؟

Important: MATCH_PARENT is not supported for widgets contained in a ConstraintLayout, though similar behavior can be defined by using MATCH_CONSTRAINT with the corresponding left/right or top/bottom constraints being set to “parent”.

سعید شاهینی

سلام٬ جلسه ی آموزشی مربوط به Constraint Layout رو حتما مشاهده کنید. این مسائل رو کامل توضیح دادم

sisi

سلام در آندروید استودیو 2.3.3 بجای کد زیر چی باید نوشت در xml

سعید شاهینی

سلام فرقی نداره! اندروید استودیو فقط یه بستر به روز تر برای کد نویسیه و تغییری در کدنویسی ایجاد نمی کنه.

sajjad 7

سلام استاد ببخشید بنده تا جاییکه میدونم مثل کد شما در فیلم زدم اما به مشکل بر خوردم که در پایین عرض میکنم
کد :
سوالات :
1- استاد شما در فیلم گوشی نکسوس 5 ایکس و انتخاب کردید اما بنده نکسوس 4 و و رفتم جلو تا وقتی که دکمه ی ثبت اطلاعات و ساختم بعد دیگه نشون نمیداد اون دکمه رو چون رزولویشن گوشی موردنظر شما با بنده فرق میکرد. و حتی روی گوشیم هم . دکمه رفته بود زیر دیده نمیشد. و گوشی نکسوس 4 و به 5ایکس تغییر دادم درست شد اما من میخوام روی همه گوشی ها و تبلت ها درست نشون داده بشه .

2- استاد بنده فونت و اضافه کردم به Edittext دقیقا مثل فیلم پیش رفتم و برنامه رو اجرا کردم اما برنامه اتومات stop میشه.

ممنون میشم مشکل و کمک کنید کد طراحی و گذاشتم براتون بررسی کنید

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="ir.crsoft.sajjad.profile_app.MainActivity"

    >
    <ImageView
        android:id="@+id/form_background_image"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/form_background"
        android:adjustViewBounds="true"
        android:scaleType="centerCrop"
        />
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="اطلاعات کاربری"
            android:layout_alignParentRight="true"
            android:layout_marginRight="@dimen/standard_margin"
            android:layout_marginTop="@dimen/standard_margin"
            android:textSize="@dimen/larg_font_size"
            android:textColor="@color/white"
            android:layout_centerVertical="true"
             />
        <ImageButton
            android:id="@+id/image_Back"
            android:layout_width="@dimen/action_button_size"
            android:layout_height="@dimen/action_button_size"
            android:src="@drawable/ic_action_back_white"
            android:layout_marginTop="@dimen/standard_margin"
            android:layout_centerVertical="true"
            />


    </RelativeLayout>

         <Button
        android:id="@+id/edit_avatar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="تغییر عکس"
        android:layout_alignBottom="@id/form_background_image"
        android:layout_alignRight="@id/form_background_image"
        />

        <ImageView
            android:layout_width="0dp"
            android:layout_height="62dp"
            android:src="@drawable/default_avatar"
            android:layout_alignRight="@id/edit_avatar"
            android:layout_alignLeft="@id/edit_avatar"
            android:layout_above="@id/edit_avatar"
            />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_below="@id/form_background_image"
        android:padding="@dimen/standrad_padding"
        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="اطلاعات فردی"
            android:textSize="@dimen/normal_font_size"
            android:layout_gravity="right"
            android:textColor="@android:color/black"
            />
        <EditText
            android:id="@+id/edittext_firstname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="@dimen/margin_fildes"
            android:layout_marginLeft="@dimen/margin_fildes"
            android:hint="نام"
            android:textSize="@dimen/smal_font_size"
            android:maxLines="1"
            android:maxLength="22"
            />
        <EditText
            android:id="@+id/edittext_lastname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="نام خانوادگی"
            android:textSize="@dimen/smal_font_size"
            android:layout_marginRight="@dimen/margin_fildes"
            android:layout_marginLeft="@dimen/margin_fildes"
            android:maxLines="1"
            android:maxLength="30"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="تخصص ها"
            android:textSize="@dimen/normal_font_size"
            android:layout_gravity="right"
            android:textColor="@android:color/black"
            />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center"
            >
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="css"
                android:layout_marginRight="@dimen/standard_margin"

                />
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="html"
                android:layout_marginRight="@dimen/standard_margin"

                />
            <CheckBox
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="java"
                android:layout_marginRight="@dimen/standard_margin"

                />

        </LinearLayout>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="جنسیت"
            android:textSize="@dimen/normal_font_size"
            android:layout_gravity="right"
            android:textColor="@android:color/black"
            />
        <RadioGroup
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginBottom="@dimen/standard_margin"
            android:gravity="center"
            >
            <RadioButton
            android:id="@+id/male_radio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="مرد"
            android:checked="true"
            />
            <RadioButton
             android:id="@+id/female_radio"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="زن"
             android:layout_marginRight="@dimen/standard_margin"
             />

        </RadioGroup>
        <Button
            android:id="@+id/save_info"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="ثبت اطلاعات"
            android:layout_marginRight="@dimen/margin_fildes"
            android:layout_marginLeft="@dimen/margin_fildes"
            
            />
    </LinearLayout>
</RelativeLayout>
سعید شاهینی

سلام، وقت بخیر
پاسخ سوال شماره 1: جلسه نهم راه حل مشکل تدریس کردم. (استفاده از ScrollView)
پاسخ سوال شماره 2: باید از قسمت logcat اسکرین شات بگیرید و ارسال کنید تا بتونم راهنمایی کنم.

مهدی پاکروان

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

نیاز به لاگین

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