رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

راست چین کردن اکشن بار


پست های پیشنهاد شده

سلام

استادای عزیز بنده یه navigation drawer درست کردم که از سمت راست صفحه باز میشه(تا اینجا همه چی آرومه:angel:)

حالا یه دکمه هم توی اکش بار قرار دادم که کاربر با کلیک روی اون هم بتونه منو رو باز و بسته کنی اما این دکمه وقتی روش کلیک میشه از برنامه میاد بیرون و فکر میکنم مشکل اصلیش هم این باشه که سمت چپ قرار گرفته...

دو تا تصویر هم از برنامه گرفتم که ببینید چه خبره و منظورمو بهتر درک کنید.

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

اگر هم راه ساده تری هست که اکشن بار رو حذف کنم و به جاش با یه ایمیج باتن منو فقط رو باز کنم  لطفا راهش رو بگید ممنون میشم...(اینجوری بهترم میشه)

در ضمن min sdk ham 8 هست.

device-2015-06-16-150459.jpg.52a2f2913fe845867abf1189f7146982.jpg

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

Action Bar رو سفارشی کنید تا اونجوری که میخواهید درش بیارید

یک Layout به اسم custom_actionbar.xml  ایجاد کنید

[shcode=xml]<?xml version="1.0" encoding="utf-8"?>

    android:layout_width="match_parent"

    android:layout_height="50dp"

    android:background="#333333" >

   

        android:id="@+id/title_text"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerInParent="true"

        android:textAllCaps="true"

        android:textAppearance="?android:attr/textAppearanceLarge"

        android:textColor="#fff"

        android:textStyle="bold" />

   

        android:id="@+id/imageView1"

        android:layout_width="35dp"

        android:layout_height="35dp"

        android:layout_alignParentLeft="true"

        android:layout_centerVertical="true"

        android:layout_marginLeft="8dp"

        android:src="@drawable/ic_launcher" />

   

        android:id="@+id/imageButton"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentRight="true"

        android:layout_centerVertical="true"

        android:layout_marginRight="8dp"

        android:background="@null"

        android:src="@android:drawable/ic_menu_rotate" />

[/shcode]

سپس در اکتیویتی بدین صورت به Viewی اکشن بار ست کنید

[shcode=java]

View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);

        TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);

        mTitleTextView.setText("My Own Title");

        ImageButton imageButton = (ImageButton) mCustomView

                .findViewById(R.id.imageButton);

        imageButton.setOnClickListener(new OnClickListener() {

            @Override

            public void onClick(View view) {

                Toast.makeText(getApplicationContext(), "Refresh Clicked!",

                        Toast.LENGTH_LONG).show();

            }

        });

        getSupportActionBar().setCustomView(mCustomView);

        getSupportActionBar().setDisplayShowCustomEnabled(true);

[/shcode]

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

Action Bar رو سفارشی کنید تا اونجوری که میخواهید درش بیارید

یک Layout به اسم custom_actionbar.xml  ایجاد کنید...

زحمت کشیدید دوست عزیز اما متاسفانه از برنامه میاد بیرون و فکر میکنم توی معرفی mInflater مشکل دارم چون دقیقا توی این خط زیرش خط قرمز میکشه:

View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);

من کلا یه پروژه جدید ساختم که گیجم نکنه و این کد اکتیویتیم هستش:

import java.util.zip.Inflater;

import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {



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

   View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);
   TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);
   mTitleTextView.setText("My Own Title");
   ImageButton imageButton = (ImageButton) mCustomView
           .findViewById(R.id.imageButton);
   imageButton.setOnClickListener(new OnClickListener() {

       @Override
       public void onClick(View view) {
           Toast.makeText(getApplicationContext(), "Refresh Clicked!",
                   Toast.LENGTH_LONG).show();
       }
   });
   getSupportActionBar().setCustomView(mCustomView);
   getSupportActionBar().setDisplayShowCustomEnabled(true);



}

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
       // Inflate the menu; this adds items to the action bar if it is present.
       getMenuInflater().inflate(R.menu.main, menu);
       return true;
   }

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
       // Handle action bar item clicks here. The action bar will
       // automatically handle clicks on the Home/Up button, so long
       // as you specify a parent activity in AndroidManifest.xml.
       int id = item.getItemId();
       if (id == R.id.action_settings) {
           return true;
       }
       return super.onOptionsItemSelected(item);
   }
}

بازم واقعا ممنونم که وقت گذاشتید

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

بدین صورت بنویسید یک خط رو جا کذاشته بودم

[shcode=java]    LayoutInflater mInflater = LayoutInflater.from(this);

        View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);

        TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);

        mTitleTextView.setText("My Own Title");

        ImageButton imageButton = (ImageButton) mCustomView

                .findViewById(R.id.imageButton);

        imageButton.setOnClickListener(new OnClickListener() {

            @Override

            public void onClick(View view) {

                Toast.makeText(getApplicationContext(), "Refresh Clicked!",

                        Toast.LENGTH_LONG).show();

            }

        });

        getSupportActionBar().setCustomView(mCustomView);

        getSupportActionBar().setDisplayShowCustomEnabled(true);

[/shcode]

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

بدین صورت بنویسید یک خط رو جا کذاشته بودم

[shcode=java]    LayoutInflater mInflater = LayoutInflater.from(this);

        View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);

        TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);

        mTitleTextView.setText("My Own Title");

        ImageButton imageButton = (ImageButton) mCustomView

                .findViewById(R.id.imageButton);

        imageButton.setOnClickListener(new OnClickListener() {

            @Override

            public void onClick(View view) {

                Toast.makeText(getApplicationContext(), "Refresh Clicked!",

                        Toast.LENGTH_LONG).show();

            }

        });

        getSupportActionBar().setCustomView(mCustomView);

        getSupportActionBar().setDisplayShowCustomEnabled(true);

[/shcode]

واقعا ازتون ممنونم دوست عزیز

در این مورد هم اگه بتونید کمکم کنید شرمنده تون میشم:

یکی اینکه همونطور که در تصویر بالا میبینید آیتمهای منوی برنامه به صورت چپ چین هستن، آیا راهی هست که اونها رو راست چین کنم؟ و اینکه برای هر آیتم آیکون بزارم؟

آخر هم اینکه چطور میتونم برای هر آیتم یک حالت کلیک شونده بزارم که کار خاصی(هر کاری! مثل جابجایی صفحه و...)رو انجام بده؟

بارم بینهایت ممنون :rolleyes:

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...