0

طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اند

 
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

افزودن تعدادی عنصر جدید، به لایه گرافیکی متناظر با Activity ، توسط کدهای java ، در برنامه نویسی اندر
یک شنبه 18 مرداد 1394  8:34 PM

همان طور که می دانید، برای هر Activity ، یک فایل xml در نظر می گیریم که عناصر لایه گرافیکی متناظر با Activity ، باید درون آن تعریف شوند. این عناصر را درون کدهای فایل xml تعریف می کنیم. اما گاهی نیاز داریم که توسط کدهای java و در نیمه های اجرای برنامه، یک عنصر جدید به لایه گرافیکی اضافه نماییم. بنابراین، در این مبحث قصد داریم که شیوه افزودن عناصر جدید به لایه گرافیکی متناظر با Activity توسط کدهای java را شرح بدهیم.

کدهای فایل xml متناظر با Activity را به صورت زیر می نویسیم :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ScrollView
        android:id="@+id/ScrollView01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_launcher">
            <LinearLayout
                android:id="@+id/linear"
                android:orientation="vertical"
                android:layout_below="@+id/add_record"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent">
            </LinearLayout>
    </ScrollView>
</LinearLayout>

سپس درون فایل مربوط به Activity (فایل java) و در میان کدهای java ، کدهای زیر را می نویسیم :


LinearLayout Linear  = (LinearLayout) findViewById(R.id.linear);
TextView tv = new TextView(this);
tv.setText("My Text");
Linear.addView(tv);

با اجرای این کدهای java ، یک TextView به لایه گرافیکی متناظر با Activity ، افزوده می شود.

شیوه کدنویسی برای عناصر دیگری مثل دکمه (Button) و ... نیز به همین صورت می باشد و تنها باید کدها را متناسب با عنصر، کمی تغییر بدهید.

به عنوان مثال، اگر بخواهیم یک دکمه (Button) اضافه کنیم، که با هر بار اشاره کاربر بر روی آن، یک پیام کوتاه به کاربر نمایش داده شود (با Toast)، کدهای زیر را می نویسیم :


LinearLayout Linear  = (LinearLayout) findViewById(R.id.linear);
Button b = new Button(this);
b.setText("My Button");
Linear.addView(b);

b.setOnClickListener(new OnClickListener() {
                       
    @Override
    public void onClick(View arg0) {
        // code for run after click
        Toast.makeText(getApplicationContext(), "click", Toast.LENGTH_LONG).show();
    }
});

 

تشکرات از این پست
mtk_designer
دسترسی سریع به انجمن ها