xamarin.android قسمت سوم
نویسنده: ابراهیم زارعی
تاریخ: ۱۳۹۷/۰۴/۱۰ ۲:۳۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
statusBarColor textColorPrimary colorAccent ColorPrimary WindowBackground
[Activity(Theme = "@style/NameThem")]
[Activity(Theme = "@style/NameThem")]
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="MainTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
</resources> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item android:id="@+id/menuItemHome" android:title="صفحه اصلی"></item>
<item android:id="@+id/menuItemInsertProduct" android:title="ورود کالا جدید" ></item>
<item android:id="@+id/menuItemListProduct" android:title="مشاهده کالاها"></item>
<item android:id="@+id/menuItemExit" android:title="خروج"></item>
</group>
</menu> <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:id="@+id/toolbar1" android:background="#33B86C" android:minHeight="?android:attr/actionBarSize" android:layout_height="wrap_content"> </android.support.v7.widget.Toolbar>
<?xml version="1.0" encoding="utf-8" ?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item android:id="@+id/menuItemHome" android:title="صفحه اصلی"></item>
<item android:id="@+id/menuItemInsertProduct" android:title="ورود کالا جدید" ></item>
<item android:id="@+id/menuItemListProduct" android:title="مشاهده کالاها"></item>
<item android:id="@+id/menuItemExit" android:title="خروج"></item>
</group>
</menu> xmlns:app="http://schemas.android.com/apk/res-auto"
SupportActionBar.SetDisplayShowTitleEnabled(false);
var navigationview = this.FindViewById<NavigationView>(Resource.Id.navigationView1);
navigationview.NavigationItemSelected += Navigationview_NavigationItemSelected;
private void Navigationview_NavigationItemSelected(object sender, NavigationView.NavigationItemSelectedEventArgs e)
{
Intent intent = null;
switch (e.MenuItem.ItemId)
{
case Resource.Id.menuItemHome:
break;
case Resource.Id.menuItemExit:
Finish();
break;
case Resource.Id.menuItemInsertProduct:
break;
case Resource.Id.menuItemListProduct:
break;
}
} <?xml version="1.0" encoding="utf-8" ?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbarlayout">
<android.support.v7.widget.Toolbar android:layout_width="match_parent" android:id="@+id/toolbar1" android:background="#33B86C" android:minHeight="?android:attr/actionBarSize" android:layout_height="wrap_content">
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton1" android:background="@drawable/mainmenu" android:layout_gravity="end" />
</android.support.v7.widget.Toolbar>
<android.support.v4.widget.DrawerLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/drawerLayout1" android:fitsSystemWindows="true">
<android.support.design.widget.NavigationView android:minWidth="25px" android:minHeight="25px" android:layout_width="200dp" android:layout_height="match_parent" android:layout_gravity="end" app:menu="@menu/menu" android:id="@+id/navigationView1" android:fitsSystemWindows="true" />
</android.support.v4.widget.DrawerLayout>
</merge> private void Navigationview_NavigationItemSelected(object sender, NavigationView.NavigationItemSelectedEventArgs e)
{
Intent intent = null;
switch (e.MenuItem.ItemId)
{
case Resource.Id.menuItemHome:
intent = new Intent(this, typeof(MainActivity));
break;
case Resource.Id.menuItemExit:
Finish();
break;
case Resource.Id.menuItemInsertProduct:
intent = new Intent(this, typeof(InsertActivity));
break;
case Resource.Id.menuItemListProduct:
intent = new Intent(this, typeof(ListProductsActivity));
break;
}
if (intent != null) { }
} public class BaseAcitivity : AppCompatActivity
{
protected void InitieToolbar()
{
var toolbar = this.FindViewById<widgetV7.Toolbar>(Resource.Id.toolbar1);
this.SetSupportActionBar(toolbar);
//SupportActionBar.SetDisplayShowTitleEnabled(false);
var imagebutton = toolbar.FindViewById<ImageButton>(Resource.Id.imageButton1);
imagebutton.Click += Imagebutton_Click;
var navigationview = this.FindViewById<NavigationView>(Resource.Id.navigationView1);
navigationview.NavigationItemSelected += Navigationview_NavigationItemSelected;
}
private void Navigationview_NavigationItemSelected(object sender, NavigationView.NavigationItemSelectedEventArgs e)
{
Intent intent = null;
switch (e.MenuItem.ItemId)
{
case Resource.Id.menuItemHome:
intent = new Intent(this, typeof(MainActivity));
break;
case Resource.Id.menuItemExit:
Finish();
break;
case Resource.Id.menuItemInsertProduct:
intent = new Intent(this, typeof(InsertActivity));
break;
case Resource.Id.menuItemListProduct:
intent = new Intent(this, typeof(ListProductsActivity));
break;
}
if (intent != null)
StartActivity(intent);
}
private void Imagebutton_Click(object sender, EventArgs e)
{
var drawerlayout = this.FindViewById<DrawerLayout>(Resource.Id.drawerLayout1);
if (drawerlayout.IsDrawerOpen(Android.Support.V4.View.GravityCompat.End) == false)
{
drawerlayout.OpenDrawer(Android.Support.V4.View.GravityCompat.End);
}
else
{
drawerlayout.CloseDrawer(Android.Support.V4.View.GravityCompat.End);
}
}
} android:theme="@style/Theme.AppCompat.Light.NoActionBar"
public class Fragment1 : Android.Support.V4.App.Fragment
{
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
}
public override View OnCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState)
{
return inflater.Inflate(Resource.Layout.FragmentLayout1, container, false);
}
} var tablayout = FindViewById<Android.Support.Design.Widget.TabLayout>(Resource.Id.tabLayout1); var viewpager = FindViewById<ViewPager>(Resource.Id.viewPager1); tablayout.SetupWithViewPager(viewpager);
class TabFragmentAdapter : FragmentPagerAdapter
{
public TabFragmentAdapter(FragmentManager fm) : base(fm)
{
}
public override int Count => 3;
public override Fragment GetItem(int position)
{
switch (position)
{
case 0: return new Fragment1();
case 1: return new Fragment2();
case 2: return new Fragment3();
default: return new Fragment1();
}
}
//int f1() { return 100; }
//int f1 => 100;
} viewpager.Adapter = new TabFragmentAdapter(this.SupportFragmentManager);
tablayout.GetTabAt(0).SetIcon(Resource.Drawable.iconCall);
View iconlayout1 = LayoutInflater.Inflate(Resource.Layout.custom_TabIconLayout, null); var txt = iconlayout1.FindViewById<TextView>(Resource.Id.tabTextIcon); txt.Text = "تماس"; txt.SetCompoundDrawablesWithIntrinsicBounds(Resource.Drawable.iconCall, 0, 0, 0); tablayout.GetTabAt(0).SetCustomView(iconlayout1);
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:minWidth="25px"
android:minHeight="25px"
android:background="#fff">
<include layout="@layout/toolbarlayout" />
<ListView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lvPaziresh" />
</LinearLayout>