Razieh Shahraki

TabHost در اندروید

7 ارسال در این موضوع قرار دارد

[align=justify]TabHost[/align]

[align=justify][rtl]فلسفه اندروید این است که فعالیت ها کوچک و موثر نگه داشته شود گاهی اوقاتباید اطلاعات زیادی نگه داشته شود و به صورت یک عمل پردازش شود در محیط های سنتی احتمالا از Tab استفاده می کردند.[/rtl]

[/align]

[align=justify][rtl]در اندروید شما از TabHost استفاده می کنید.[/rtl]

[/align]

[align=justify][rtl]در اینجا قسمتی از فضا توسط سربرگ ها گرفته می شود و هرگاه بر روی آن کلیک میکنید به قسمت مربوطه به آن سربرگ می رویم به عنوان مثال شما یک سربرگ برای وارد کردن محل دارید و یک سربرگ برای نمایش آن .[/rtl]

[/align]

[align=justify][rtl]تنظیمات[/rtl]

[/align]

[align=justify][rtl]شما باید قسمت های زبر را برای سربرگ تنظیم کنید.[/rtl]

[/align]

[align=justify][rtl]TabHost یک Container فراگیر برای محتوایی که در آن قرار می گیردمانند دکمه و TextViewها می باشد.[/rtl]

[/align]

[align=justify][rtl]TabWidget شامل متن برچسب و در صورت لزوم آیکن می باشد.[/rtl]

[/align]

[align=justify][rtl]FrameLayout یک Container برای محتوای سربرگ و هر محتوای سربرگ فرزندیاز FrameLayout می باشد.[/rtl]

[/align]

[align=justify][rtl]موارد زیر را باید رعایت کنید:[/rtl]

[/align]

[align=justify][rtl]باید به TabWidget یک @android:id/tabs. بدهید.[/rtl]

[/align]

[align=justify][rtl]اگر می خواهید به عنوان TabActivity استفاده کنیدباید به TabHost آن @android:id/tabhost بدهید.[/rtl]

[/align]

[rtl]ساختار زیر را یاد بگیرید.[/rtl]

<?xml version="1.0" encoding="utf-8"?>android:id="@+id/tabhost"android:layout_width="fill_parent"android:layout_height="fill_parent">android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent">android:layout_width="fill_parent"android:layout_height="wrap_content"/>در زیر به ازای هر Tab یک FrameLayout می گذاریم و در این FrameLayoutها Widgetها را می گذاریم.android:layout_width="fill_parent"android:layout_height="fill_parent">

[rtl]

مثال:

فرض کنید می خواهیم در Tab اول دو ExitText  که اطلاعات فرد را وارد کنیم و در Tab دوم دو RadioButton که جنسیتفرد را مشخص کند، قرار دهیم.

کد زیر را در فایل Xml قرار دهید.[/rtl]

<?xml version="1.0" encoding="utf-8"?>android:id="@+id/tabhost"android:layout_width="fill_parent"android:layout_height="fill_parent">android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent">	android:layout_width="fill_parent"	android:layout_height="wrap_content"	/>		android:layout_width="fill_parent"		android:layout_height="fill_parent">			android:layout_height="fill_parent"			android:id="@+id/tab1">				android:layout_height="fill_parent"				android: tretchColumns="1" >					android:layout_height="wrap_content"					android:id="@+id/tvName"					android:text="Fmale"/>					android:layout_height="wrap_content"					android:id="@+id/tvFamily"					android:text="male"/>	android:layout_height="fill_parent"	android:id="@+id/tab2">		android:layout_height="fill_parent"		android: stretchColumns="1">			android:layout_height="wrap_content"			android:id="@+id/tvName"			android:text="Enter YourName"/>			android:layout_width="wrap_content"			android:layout_height="wrap_content" />			android:layout_height="wrap_content"			android:id="@+id/tvFamily"			android:text="Enter Family"/>			android:layout_width="wrap_content"			android:layout_height="wrap_content"			/>

[align=justify]کد زیر را در فایل Java قرار دهید.

[/align]

import android.os.Bundle;import android.app.Activity;import android.widget.TabHost;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {	super.onCreate(savedInstanceState);	setContentView(R.layout.activity_main);	TabHost tabs=(TabHost)findViewById(R.id.tabhost);	tabs.setup();به ازای هر Tab باید یک TabSpec ایجاد و نام آن را مشخص کنید.	TabHost.TabSpec spec=tabs.newTabSpec("tag1");محتوای آن را با SetContent مشخص می کنیم که اشاره به فایل xml دارد.	spec.setContent(R.id.tab1);متن Header  را مشخص می کند.	spec.setIndicator("Gender");سپس آن اضافه می کنیم.	tabs.addTab(spec);	spec=tabs.newTabSpec("tag2");	spec.setContent(R.id.tab2);	spec.setIndicator("Info");	tabs.addTab(spec);}}

خروجی برنامه به صورت زیر می باشد.

[align=justify][rtl]do.php?img=130[/rtl]

[/align]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

واسه این قسمت :

TabHost tabs=(TabHost)findViewById(R.id.tabhost);

tabhost رو شناسایی نمیکنه!!چیکارش کنم؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

مشکلم حل شد

ممنون بابت پستی که گذاشتید ... واقعا کاربردی بود

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام ممنون آیا این تب هاست دست رو صفحه هم بکشه کاربر صفحه عوض میشه؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای راست چین کردن تب ها باید از چه خاصیتی استفاده کرد؟؟؟؟ من تب ها را که میسازم از آخر به اول ردیف میشن؟!!!!!!!!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام

دوست عزیز اقای ابراهیمی این مدلی که میخواین رو تو سایت گذاشتن سرچ کنین


سلام

خب شما از اخرین تب به اولین تب بیاین:rolleyes:

سورس و بررسی کنم میگم بهتون

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای راست چین کردن تب ها باید از چه خاصیتی استفاده کرد؟؟؟؟ من تب ها را که میسازم از آخر به اول ردیف میشن؟!!!!!!!!

من خودم از این روش استفاده میکنم ، احتمالا واسه شما هم جواب بده ، صفحه جاری رو روی تب آخر بذارید ، مثل کد زیر ، البته دقت داشته باشید که اعداد از صف شروع میشن ، اگر 5 تا تب دارید 4 بذارید ، اگر 4 تا تب دارید عدد 3 بذارید و ....

viewPager.setCurrentItem(4);

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری