آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

لیست ویو + متریال دیزاین

mosbai  9 سال پیش  8 سال پیش
+6 0

سلام دوستان

می خواستم بدونم توی نمونه های متریال دیزاین ، چه جور یه دایره روی لیست ویو ایجاد می کنن ؟ مثلا برای اضافه کردن نظر ، کامننت و... 

فرق لیست ویو با recycleView تو چیه؟

 

0 0
سلام دوستان < همین الان این موضوع برای من هم سواله < اگر کسی میدونه راهنمایی کنه < استفاده از recycleView فقط روی اکلیپس جدید ممکنه ؟ (9 سال پیش)
+2 0
اون دایره‌ای میگید اسمش هست FloatingActionButton و میتونید آموزشها، کتابخونه‌ها و مطالب زیادی رو توی اینترنت دربارش پیدا کنید مثل لینک یا لینک (9 سال پیش)
+1 0
recycleView نسبت به ListView یه سری امکانات بیشتری داره و قوی‌تر و دیگه مشکلاتی که ListView داشت نداره. برای اطلاعات بیشتر این لینک رو ببینید. (9 سال پیش)
0 0
پس از لیست ویو استفاده نکنیم؟ (9 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
احسان منصوری  9 سال پیش
+8 0

FloatingActionButton یه کنترل جدید از کتابخونه support Design هست. نا گفته نمونه که علاوه بر این کنترل، یه کنترل دیگه به نام TextInputLayout هم وجود داره که من باهاش کار کردم. 

واسه تعریف این کنترل ها، باید کتابخونه support Design که در حال حاضر ورژن 22.2.0 اون عرضه شده رو به محیط توسعه تون اظافه کنید. ضمنا، این کتابخونه برای api ورژن 22 قابل استفاده است.

از اونجایی که من از اندروید استودیو استفاده می کنم، باید در build.gradle قسمت app، کد زیر رو در dependencies وارد کنید که کتابخونه اضافه بشه:

 compile 'com.android.support.design:22.2.0'

پس از انجام مراحل بالا (که قبل از اون حتما api22 رو به محیط توسعه تون اضافه کردین)، لایه xmlتون بشید که کنترل ها رو تعریف کنیم:

از اونجایی که FloatingActionButton روی تمام کنترل ها میشینه، باید به جای LinearLayout از RelativeLayout استفاده کنید.  پس LinearLayout اصلی رو به RelativeLayout تغییر بدین. 

اگه هم نمی خواید از RelativeLayout استفاده کنید(به دلیل اینکه کنترل ها بهم میریزن)، می تونید به جای تغییر LinearLayout، از CoordinatorLayout داخل LinearLayout اصلی تون استفاده کنید.

CoordinatorLayout یک لایه از نوع FrameLayout اما با قابلیت های بیشتر هستش که در کتابخونه Design قرار داره.

خب، در فایل xml تون و داخل LinearLayout، یک CoordinatorLayout تعریف می کنیم و داخل اون، یک FloatingActionButton.

به این شکل:

 <LinearLayout
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="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".MainActivity"
    android:padding="16dp"
    android:orientation="vertical"
    android:background="#fff">

    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/root_coordinator"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
       
        <android.support.design.widget.FloatingActionButton
            android:id="@+id/floatBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:src="@drawable/ic_add_black"
            app:borderWidth="0dp"
            app:fabSize="normal"
            android:layout_gravity="start|bottom" />

    </android.support.design.widget.CoordinatorLayout>

</LinearLayout>

تعریف این دکمه هم توی سورس کد، دقیقا مثل کنترل های دیگس.

کنترل بعدی، TextInputLayout هست. یک کنترل بسیار جالب و کاربردی برای EditText. این کنترل، وضعیت EditText ما رو نمایش میده. چطور؟ این کنترل، یک لایه هست که EditText داخلش قرار میگیره. وقتی که کاربر روی EditText کلیک می کنه، به صورت خودکار hint اون با یک انیمیشن، در بالای EditText قرار میگیره. علاوه بر اون، می تونید پیغام های ناشی از خالی بودن EditText و یا مقدار اشتباه رو با دستور setError به جای Toast به کاربر نمایش بدین. مثل تصویر زیر:

تعریفش بسیار سادس:

 <android.support.design.widget.TextInputLayout

    android:id="@+id/password_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="end"
    android:gravity="end"
    android:layout_below="@+id/email_layout">
    <EditText
        android:id="@+id/input_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:hint="رمز عبور"
        android:layout_gravity="end"
        android:gravity="end"
        android:inputType="textPassword" />
</android.support.design.widget.TextInputLayout>

hint که به صورت خودکار  میره بالا. واسه نمایش Error در زیر EditText، بعد از تعریف TextInputLayout در سورستون، میاید اون رو به شکل زیر setError می کنید:

 inputLayout.setError("لطفا رمز عبور را وارد نماید");

به همین سادگی. سوالی بود در خدمتتون هستم

پاسخ به سوال 
saeed_435  8 سال پیش
0 0

من هنگام کار با TextInputLayout به یه مشکل عجیب خوردم،با وجودی که همه REQUEST FOCUS ها رو از کد حذف کردم بازم هنگام اجرای برنامه رو EDIT TEXT که خاصیت INPUT LAYOUT برابر MULTI LINE TEXT هست فوکوس میکنه!هرکار تو کد بوده کردم (از clear focus تا فوکوس رو بقیه لایه ها ولی هیچ اتفاقی نمیفته !!!!!)اگه کسی با این مشکل برخورد کرده لظفا کمکم کنه

پاسخ به سوال 
alisherafat01  8 سال پیش
+4 0

برای اینکه به صورت پیش فرض در حالت Focus قرار نگیره این رو بالای TextInputLayout  اضافه کنید ( بالای هر کدوم نه ، فقط بالای اولی )

 <LinearLayout
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px"/>

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .