خانه اندروید

800 ساعت آموزش اختصاصی

بیش از 30 هزار دانشجو

آموزش های پروژه محور

مطالب پیشنهادی حتما مشاهده کنید :

گرد کردن shape اندروید استودیو Android Studio

گرد کردن shape اندروید استودیو Android Studio

گرد کردن shape اندروید استودیو Android Studio

shape اندروید استودیو

shape، عرض سلام و وقت بخیر خدمت کاربران گرامی سایت خانه اندروید قصد داریم در این آموزش به شما دوستان نحوه استفاده کردن از shape رو توی اندروید استودیو آموزش بدیم حتما براتون پیش اومده که قصد دارین دکمه ای رو گرد کنید یا توی برخی از اپلیکیشن ها به لایه ها منظور همون linerlayout و یاRelativeLayout ،یک حالت به خودش گرفته و به حالتی که لبه های آن ها صاف شده و مثل تصویر بالا که داخل این پست قرار گرفته شده امروز قصد داریم این آموزش رو خدمتون ارائه بدیم تا با shape بیشتر آشنا بشید.

حتما ببنید : 

انتخاب فونت پویا از طریق xml اندروید استودیو

فونت سفارشی برای Custom Font TabLayout اندروید استودیو

شروع آموزش shape :

برای اینکه دکمه ای shape کنیم نیاز داریم به اینکه حتما در folder خاصی مثل Drawable یک فایلی با نام دلخواه خودتون ایجاد کنید سپس کد های زیر را در درون آن قرار بدید.تا دکمه به حالت shape شده در بیاید.

سورس کد را با نام دلخواه در پوشه Drawable ایجاد کنید. نام دلخواه من shape.xml هست.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke android:width="2dp"
android:color="#ffffff"/>
<gradient
android:angle="225"
android:startColor="#dd1e50f4"
android:endColor="#dd1e50f4"/>
<corners
android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp" />
</shape>

 

نحوه فراخونی به این شکل هست باید به اتربیوت یا همون background دکمه Drawable رو معرفی کنیم.

android:background="@drawable/shape"
<Button
    android:id="@+id/btn"
    android:layout_width="300dp"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@drawable/shape"
    android:text="ثبت شماره موبایل"
    android:textColor="#fff"
    android:textSize="16sp" />

 

خوب حالا اگر قصد شما دادن shape به لایه هست مثل مثال بالا که برای دکمه ایجاد کرده ایم کافی برای لایه خودتون هم به همین شکل ایجاد کنید.

در این مثال من به Linerlayout مقدار shape رو ست می کنم.

<?xml version="1.0" encoding="utf-8"?>
<!--  res/drawable/rounded_edittext.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" android:padding="10dp">
    <solid android:color="#FFFFFF"/>
    <corners
        android:bottomRightRadius="5dp"
        android:bottomLeftRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp"/>
    <stroke
        android:width="5dip"
        android:color="#fbfcfc"/>
</shape>

 

طبق مثال قبل باید به بگراند لینیرلایوت مقدار shape رو بدیم.

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="180dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_marginLeft="15dp"
    android:layout_marginRight="15dp"
    android:background="@drawable/searchshape"
    android:orientation="vertical">

 

سورس کد کلی دریافت یک شماره همراه از کاربر به صورت shape شده . دقت کنید با توجه به سلیقه خودتون سورس کد را ویراش کنید.

shape-linerlayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#38917b"
    tools:context="com.app.irnetads.Add_information.add_mobile">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:background="@drawable/searchshape"
        android:orientation="vertical">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <com.app.irnetads.fontscustoms.EditTextfontcustom.customfontEdittext
                android:id="@+id/etxt_mobile"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/addphone"
                android:inputType="phone"
                android:maxLength="11"
                android:maxLines="1"
                android:padding="10dp"
                android:textAlignment="center" />

            <ImageView
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_alignParentRight="true"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                tools:src="@drawable/iconphone" />

            <Button
                android:id="@+id/btn"
                android:layout_width="300dp"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:background="@drawable/shape"
                android:text="ثبت شماره موبایل"
                android:textColor="#fff"
                android:textSize="16sp" />
        </RelativeLayout>
    </LinearLayout>

</RelativeLayout>

 

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

منبع آموزش : خانه اندروید

درباره نویسنده

جواد محمدی هستم بنیان‌گذار سایت خانه اندروید در خدمتون هستیم با آموزش و مفاهیم برنامه نویسی اندروید-نزدیک به 10 سال هست در حوزه برنامه نویسی فعالیت می کنم. مسلط به kotlin,java,flutter,php هستم . در خانه اندروید دانستی های خودم را در اختیار تمامی علاقمندان به برنامه نویسی قرار میدم.تشکر از اینکه خانه اندرورید رو دنبال می کنید.

قبل از ارسال دیدگاه

  • قبل از ارسال دیدگاه: لطفا دیدگاه خودتون رو فقط در مورد این مطلب بنویسید.سپاسگزارم.

    دیدگاه های طولانی نادیده گرفته می شوند لذا دیدگاه خودتان را در دو خط خلاصه کنید.

    دیدگاه های که شامل توهین یا متن توهین آمیز اصلا تایید نمی شود.

    به دیدگاه های بی نام و نشان که ایمیل فیک و نام فیک وارد می کنند پاسخ داده نمی شود

8 دیدگاه

  1. مهرداد گفت:

    سلام مقدار گردی گوشه ها
    تو گوشی های با رزولیشن مختلف کم و زیاد میشه چی کار کنم ثابت بشه؟

  2. محمد محمدی گفت:

    سلام ببخشید برا من ادرست نمیشه این کارا که گفتینو کردم برا فایل xml ولی داخل کد خطا میده میگه این اتریبیوت اجازه نداره اینجا باشه . دیووونه شدم کمک کنید لطفا همه راه هارو رفتم نشد . کتابخانه ای چیزی نمیخاد ازافه کنم؟
    کمککککک

  3. مهدی گفت:

    عالی
    ممنون
    بوس!

  4. بهنام گفت:

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

    <?xml version=”1.0″ encoding=”utf-8″?>
    <!– res/drawable/rounded_edittext.xml –>
    <shape xmlns:android=”http://schemas.android.com/apk/res/android”
    android:shape=”rectangle” android:padding=”10dp”>
    <solid android:color=”#FFFFFF”/>
    <corners
    android:bottomRightRadius=”5dp”
    android:bottomLeftRadius=”5dp”
    android:topLeftRadius=”5dp”
    android:topRightRadius=”5dp”/>
    <stroke
    android:width=”5dip”
    android:color=”#fbfcfc”/>
    </shape>

    • Admin گفت:

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