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

سلام به همه ی اساتید عزیز

ابتدا به همه خداقوت میگم و خواهشمندم نسبت به سوالی که می پرسم ملاطفت نشون بدید و اگر مقدور بود راهنمایی بفرمائید ((( بنده مبتدی هستم و تازه شروع به برنامه نویسی اندروید اون هم با اندروید استودیو کردم )))

 

*** مطلب مهمی که بهش فکر کردم اینه که اول من اومدم مفاهیم پایه رو یاد گرفتم و بعد با توجه به اینکه دیدم مطالب توی اندروید استودیو بسیار وسیع و متنوع هستند تصمیم گرفتم پروژه محور مطالب رو یاد بگیرم یعنی هر آنچه نیازم شد برم سراغش و یادش بگیرم ( البته این رو هم بگم که من قبلا سی شارپ کار کردم در حد متوسطه الی پیشرفته و آشنایی با برنامه نویسی دارم  )

 

خب اولین سوالم همانطور که از موضوع تاپیک مشخصه این هست که چطور میشه با استایل actionbar کار کرد و اون رو کاستومایز کرد البته با جستجویی که کردم تا اینجا پیش رفتم که از قسمت مانیفست میشه به استایل اون دست پیدا کرد و بعد به سراغ style رفت و با اون ور رفت اما من دقیقا به دنبال روشی هستم که بشه این طراحی رو داشت

عکس :

kyie_bazaar_actionbar.jpg

 

ممنون و سپاسگذارم

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 2 دقیقه قبل، barman.ar16 گفته است :

سلام به همه ی اساتید عزیز

ابتدا به همه خداقوت میگم و خواهشمندم نسبت به سوالی که می پرسم ملاطفت نشون بدید و اگر مقدور بود راهنمایی بفرمائید ((( بنده مبتدی هستم و تازه شروع به برنامه نویسی اندروید اون هم با اندروید استودیو کردم )))

 

*** مطلب مهمی که بهش فکر کردم اینه که اول من اومدم مفاهیم پایه رو یاد گرفتم و بعد با توجه به اینکه دیدم مطالب توی اندروید استودیو بسیار وسیع و متنوع هستند تصمیم گرفتم پروژه محور مطالب رو یاد بگیرم یعنی هر آنچه نیازم شد برم سراغش و یادش بگیرم ( البته این رو هم بگم که من قبلا سی شارپ کار کردم در حد متوسطه الی پیشرفته و آشنایی با برنامه نویسی دارم  )

 

خب اولین سوالم همانطور که از موضوع تاپیک مشخصه این هست که چطور میشه با استایل actionbar کار کرد و اون رو کاستومایز کرد البته با جستجویی که کردم تا اینجا پیش رفتم که از قسمت مانیفست میشه به استایل اون دست پیدا کرد و بعد به سراغ style رفت و با اون ور رفت اما من دقیقا به دنبال روشی هستم که بشه این طراحی رو داشت

عکس :

kyie_bazaar_actionbar.jpg

 

ممنون و سپاسگذارم

 

سلام به انجمن خوش اومدید

دیگه اکشن بار  منسوخ شده و بهتره باید Toolbar اینکار رو پیاده سازی کنید بدین صورت که ویجت Toolbar رو از کتابخونه Appcompat وارد میکنید و میتوانید براساس نیازتون اون رو custom کنید

 

به صورت زیر :

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:layout_scrollFlags="scroll|enterAlways"
    app:layout_collapseMode="pin">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <!-- This is a centered logo -->
        <ImageView
            android:id="@+id/toolbar_logo"
            android:src="@drawable/logo"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_marginRight="?attr/actionBarSize"
            android:layout_marginTop="4dp"
            android:layout_marginBottom="4dp"
            android:layout_gravity="center" />

        <!-- This is a centered title -->
        <!--
        <TextView
            android:id="@+id/toolbar_title"
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_marginRight="?attr/actionBarSize"
            android:layout_gravity="center"
            android:gravity="center_vertical"
            android:visibility="gone"
            android:text="@string/app_name"
            android:textColor="@color/white"
            style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"
            />
            -->

        <!-- This is a custom left side button -->
        <!--
        <ImageButton
            android:id="@+id/btn_settings"
            android:layout_width="?attr/actionBarSize"
            android:layout_height="?attr/actionBarSize"
            android:layout_marginRight="?attr/actionBarSize"
            android:layout_gravity="start|center_vertical"
            android:visibility="invisible"
            android:src="@drawable/ic_settings_white_24dp"
            style="@style/Widget.AppCompat.ActionButton" />
            -->

        <!-- This is a custom right side button -->
        <!--
        <ImageButton
            android:id="@+id/btn_search"
            android:layout_width="?attr/actionBarSize"
            android:layout_height="?attr/actionBarSize"
            android:layout_gravity="end"
            android:src="@drawable/ic_magnify_white_24dp"
            style="@style/Widget.AppCompat.ActionButton" />
            -->

    </FrameLayout>
</android.support.v7.widget.Toolbar>

 

1 کاربر پسند دیده است

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


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

ممنون استاد عزیز از اینکه وقت گذاشتید و پاسخ دادید
 

ببینید من درست متوجه شدم !!!

ابتدا بیام استایل اکشن بار رو بگذارم روی noaction  تا فضای بالای اکتیویتی خالی بشه و سپس کدی رو که فرمودید در فایل xml اکتیویتی اصلی قرار بدم درسته ؟؟؟ حالا اون رو میتونم با توجه به سلیقه خودم تغییر بدم ...

اگر نیاز به توضیح مجددی داره ممنون میشم راهنمایی بفرمائید

متشکرم

1 کاربر پسند دیده است

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 15 دقیقه قبل، barman.ar16 گفته است :

ممنون استاد عزیز از اینکه وقت گذاشتید و پاسخ دادید
 

ببینید من درست متوجه شدم !!!

ابتدا بیام استایل اکشن بار رو بگذارم روی noaction  تا فضای بالای اکتیویتی خالی بشه و سپس کدی رو که فرمودید در فایل xml اکتیویتی اصلی قرار بدم درسته ؟؟؟ حالا اون رو میتونم با توجه به سلیقه خودم تغییر بدم ...

اگر نیاز به توضیح مجددی داره ممنون میشم راهنمایی بفرمائید

متشکرم

بله باید به همون روش جلو برید و استایل اپ رو روی noActionBar قرار دهید مانند مثال زیر :

 

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

 

1 کاربر پسند دیده است

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


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

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط kavous_kiani
      .
      یک آموزش آنلاین فوق‌العاده برای آشنائی با برنامه‌نویسی اندروید :
      http://www.vogella.com/android.html
      زبان مقاله : انگلیسی
       
      .
    • توسط asv
      سلام
      تو این انجمن آموزش جاوا در اندروید استودیو هست؟
      اگه هست لطفا لینکش رو بذارید، خودم پیدا نکردم.
       
    • توسط Shahryar.V
      سلام
      من تازه میخوام برنامه نویسی اندروید رو شروع کنم.
      میخوام از کسایی که برنامه نویسی اندروید رو از کتاب یاد گرفتن بپرسم که با چه کتابی و چه برنامه ای(تو اینترنت که گشتم، بیشتر از نرم افزار Android Studio صحبت میکردن!) یاد گرفتن و انجام میدن؟؟
       
       
    • توسط namdar79
      باسلام
      من می خواهم آموزش برنامه نویسی اندروید را به صورت آنلاین برگزار کنم.
      متقاضیات می توانند از طریق:
      لاین با ای دی:  m.j.n79
       
      ایمیل: m.j.namdar79@gmail.com
      وبلاگ: http://androiddostan.rozblog.com
       با من تماس بگیرند برای توضیحات بیشتر و نحوه آموزش
       برای عموم آزاد است
       
       
    • توسط sorooshpardaz
      در مقاله قبل در مورد پایگاه داده برنامه های اندروید صحبت کردیم و گفتیم پایگاه داده مورد استفاده برنامه های اندرویدی Sqlite می باشد، مولفه های مختلف Sqlite را معرفی کردیم در این مقاله یک نمونه مثال از این پایگاه داده را به همراه کدهای آن توضیح می دهیم.
      مثال استفاده شده ساخت یک پایگاه داده برای ذخیره مخاطبین تلفن همراه است با استفاده از این پایگاه داده می توان اطلاعات تماس تلفن همراه را درج، حذف، ویرایش کرد.
      برای تست این مثال می بایست آن را روی دستگاه واقعی دوربین دار تست کنید.
      با استفاده از اندروید استودیو یک برنامه  کاربردی تحت عنوان com.example.sairamkrishna.myapplication بسازیم.
      برای ساخت این برنامه و پایگاه داده به ترتیب مراحل زیر را انجام می دهیم:
      1.برای ساخت این پروژه مطمئن شوید که اندروید SDK از آخرین نسخه پشتیبانی کند تا با  API های نسخه بالا همخوانی داشته باشند.
      2.فایل SRC/MainActivity.java را می گذاریم تا توسط آن همه مولفه های XML و اخرین تماس ها را دریافت کند.
      Src/DBHelper.java.3 را می سازیم، که عملکرد دیتابیس را مدیریت می کند.
      4.یک مولفه جدید با عنوان  DisplayContact.java ایجاد می کنیم تا تماس های روی صفحه را نمایش دهد.
      5.تغییر res/layout/activity_main و res/layout/activity_display_contact.xml که برای اضافه شدن مولفه های xml است.
      6.تغییر فایل res/values/string.xml برای افزودن اجزای رشته ای ضروری است.
      7.قرار دادن فایل res/menu/display_contact.xml برای ایجاد منوهای ضروری
      8.ایجاد منو res/menu/mainmenu.xml برای قرار دادن امکان درج مخاطب
      9.اجرای نرم افزار بر روی یک دستگاه اندرویدی و نصب برنامه روی آن
      در ادامه کدهای مربوط به مرحل بالا را قرار می دهیم. با نوشتن این کدها مرحله به مرحله دیتا بیس ما ایجاد می شود.
       محتوای MainActivity.java. را با استفاده از کدهای زیر ویرایش می کنیم.

       
      package com.example.sairamkrishna.myapplication; import android.content.Context; import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import java.util.ArrayList; import java.util.List; public class MainActivity extends ActionBarActivity { public final static String EXTRA_MESSAGE = "MESSAGE"; private ListView obj; DBHelper mydb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mydb = new DBHelper(this); ArrayList array_list = mydb.getAllCotacts(); ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1, array_list); obj = (ListView)findViewById(R.id.listView1); obj.setAdapter(arrayAdapter); obj.setOnItemClickListener(new OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { // TODO Auto-generated method stub int id_To_Search = arg2 + 1; Bundle dataBundle = new Bundle(); dataBundle.putInt("id", id_To_Search); Intent intent = new Intent(getApplicationContext(),DisplayContact.class); intent.putExtras(dataBundle); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item){ super.onOptionsItemSelected(item); switch(item.getItemId()) { case R.id.item1:Bundle dataBundle = new Bundle(); dataBundle.putInt("id", 0); Intent intent = new Intent(getApplicationContext(),DisplayContact.class); intent.putExtras(dataBundle); startActivity(intent); return true; default: return super.onOptionsItemSelected(item); } } public boolean onKeyDown(int keycode, KeyEvent event) { if (keycode == KeyEvent.KEYCODE_BACK) { moveTaskToBack(true); } return super.onKeyDown(keycode, event); } }  
      در زیر محتوای فایل DisplayContact.java برای تطبیق با برنامه اصلاح شده است:

       
      package com.example.addressbook; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class DisplayContact extends Activity { int from_Where_I_Am_Coming = 0; private DBHelper mydb ; TextView name ; TextView phone; TextView email; TextView street; TextView place; int id_To_Update = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_contact); name = (TextView) findViewById(R.id.editTextName); phone = (TextView) findViewById(R.id.editTextPhone); email = (TextView) findViewById(R.id.editTextStreet); street = (TextView) findViewById(R.id.editTextEmail); place = (TextView) findViewById(R.id.editTextCity); mydb = new DBHelper(this); Bundle extras = getIntent().getExtras(); if(extras !=null) { int Value = extras.getInt("id"); if(Value>0){ //means this is the view part not the add contact part. Cursor rs = mydb.getData(Value); id_To_Update = Value; rs.moveToFirst(); String nam = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_NAME)); String phon = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_PHONE)); String emai = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_EMAIL)); String stree = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_STREET)); String plac = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_CITY)); if (!rs.isClosed()) { rs.close(); } Button b = (Button)findViewById(R.id.button1); b.setVisibility(View.INVISIBLE); name.setText((CharSequence)nam); name.setFocusable(false); name.setClickable(false); phone.setText((CharSequence)phon); phone.setFocusable(false); phone.setClickable(false); email.setText((CharSequence)emai); email.setFocusable(false); email.setClickable(false); street.setText((CharSequence)stree); street.setFocusable(false); street.setClickable(false); place.setText((CharSequence)plac); place.setFocusable(false); place.setClickable(false); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. Bundle extras = getIntent().getExtras(); if(extras !=null) { int Value = extras.getInt("id"); if(Value>0){ getMenuInflater().inflate(R.menu.display_contact, menu); } else{ getMenuInflater().inflate(R.menu.main, menu); } } return true; } public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch(item.getItemId()) { case R.id.Edit_Contact: Button b = (Button)findViewById(R.id.button1); b.setVisibility(View.VISIBLE); name.setEnabled(true); name.setFocusableInTouchMode(true); name.setClickable(true); phone.setEnabled(true); phone.setFocusableInTouchMode(true); phone.setClickable(true); email.setEnabled(true); email.setFocusableInTouchMode(true); email.setClickable(true); street.setEnabled(true); street.setFocusableInTouchMode(true); street.setClickable(true); place.setEnabled(true); place.setFocusableInTouchMode(true); place.setClickable(true); return true; case R.id.Delete_Contact: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(R.string.deleteContact) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { mydb.deleteContact(id_To_Update); Toast.makeText(getApplicationContext(), "Deleted Successfully", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(),MainActivity.class); startActivity(intent); } }) .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // User cancelled the dialog } }); AlertDialog d = builder.create(); d.setTitle("Are you sure"); d.show(); return true; default: return super.onOptionsItemSelected(item); } } public void run(View view) { Bundle extras = getIntent().getExtras(); if(extras !=null) { int Value = extras.getInt("id"); if(Value>0){ if(mydb.updateContact(id_To_Update,name.getText().toString(), phone.getText().toString(), email.getText().toString(), street.getText().toString(), place.getText().toString())){ Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(),MainActivity.class); startActivity(intent); } else{ Toast.makeText(getApplicationContext(), "not Updated", Toast.LENGTH_SHORT).show(); } } else{ if(mydb.insertContact(name.getText().toString(), phone.getText().toString(), email.getText().toString(), street.getText().toString(), place.getText().toString())){ Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show(); } else{ Toast.makeText(getApplicationContext(), "not done", Toast.LENGTH_SHORT).show(); } Intent intent = new Intent(getApplicationContext(),MainActivity.class); startActivity(intent); } } } } در مقاله بعدی می توانید ادامه آموزش را دنبال کنید.
  • فایل