ورچر

آموزشهای پراکنده از دنیای برنامه نویسی اندروید

آموزش کوتاه - اعمال چندین تم در برنامه اندروید post image

آموزش کوتاه - اعمال چندین تم در برنامه اندروید

تگ ها : آموزش اندروید,آموزش برنامه نویسی اندروید,android programming tutorial,آموزش ساخت تم در اندروید,آموزش ساخت تم در برنامه های اندروید
آخرین ویرایش : 1395/4/2

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

 

روش پیاده سازی اعمال تم

1- برنامه اندروید استودیو را اجرا کرده و پروژه ای جدید ایجاد می کنیم.

2- پس از ایجاد پروژه ابتدا در فایل gradle دستور زیر را وارد می کنیم و سینک(sync) می کنیم.

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

3-سپس در فایل activity_main.xml تغییرات زیر را اعمال می کنیم.

ابتدا متن تکست ویو را اکتیویتی اول می کنیم و سپس یک دکمه FloatingActionButton اضافه می کنیم.

activity_main.xml
<?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:layoutDirection="rtl"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:textDirection="rtl"
    tools:context="ir.technopedia.spotlight.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="اکتیویتی اول"
        android:textSize="18sp" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:src="@android:drawable/ic_dialog_email"
        app:fabSize="normal" />

</RelativeLayout>


    

    

4- سپس با راست کلیک برروی فولدر app و انتخاب new->Activity->Empty Activity یک اکتیویتی دیگر با نام SecondActivity به پروژه اضافه می کنیم.

5- به فایل MainActivity.java رفته و یک اشاره گر به دکمه موجود در فایل xml ایجاد می کنیم و در رخداد کلیک آن SecondActivity را استارت می کنیم.

MainActivity.class
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(getBaseContext(), SecondActivity.class));
            }
        });
    }
}

6- سپس در فایل styles.xml برنامه یک استایل جدید با نام GreenColor ایجاد می کنیم.(همانند کدهای زیر)

<style name="GreenColor">
        <item name="colorPrimary">@color/material_green_500</item>
        <item name="colorPrimaryDark">@color/material_green_700</item>
</style>

7- حال به فایل SecondActivity.class رفته و تابع setTheme() را قبل از تابع setContentView فراخوانی می کنیم تا استایل جدید ما در اکتیویتی دوم اعمال شود.

SecondActivity.class
public class SecondActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.GreenColor);
        setContentView(R.layout.activity_second);
    }
}

8- برنامه را اجرا کنید و تغییرات را مشاهده کنید.