ورود

View Full Version : چگونه می توان منو را در مختصات خاصی از صفحه نمایش داد؟



pbm_soy
یک شنبه 20 مهر 1393, 02:41 صبح
سلام

من نمیخوام از روش نمایش منو که در ورژن 3 به بعد آمده استفاده کنم در واقع منو را به عنوان actionbar درنظرمیگیرد و نمایش میدهد.
actionbar منوی تعریف شده را تاجائی که جامیشود بروی نوار عنوان برنامه میچیند و اونهائی که جا نمیشوند را در لیست دگمه منو یا گزینه منو در دستگاههای جدیدتر و تبلت نمایش میدهد.

برای همین برای منو خودم یک گزینه بروی صفحه گذاشتم وقتی انتخاب میشه منو را نمایش دادم ولی در پایین صفحه نمایش میدهد. میخواستم دقیقا در زیر گزینه خود منو نمایش دهم.!
* چگونه میتوانم منو را در مختصات خاص یا در داخل یک layout ی که از قبل تعریف کردم نمایش دهم؟

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

* برای نمایش آیکونهای کنار گزینه های منو چکار باید کرد؟

pbm_soy
دوشنبه 21 مهر 1393, 00:40 صبح
کسی نظری ندارد؟!

saeed_g21
دوشنبه 21 مهر 1393, 00:47 صبح
چرا من دارم

ببین همچین چیزی میخوای

poupup_menu.xml
<menu xmlns:androclass="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/one"
android:title="One"/>

<item
android:id="@+id/two"
android:title="Two"/>

<item
android:id="@+id/three"
android:title="Three"/>


</menu> MainActivity.java
import android.os.Bundle; import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;
public class MainActivity extends Activity {
Button button1;

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

button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
//Creating the instance of PopupMenu
PopupMenu popup = new PopupMenu(MainActivity.this, button1);
//Inflating the Popup using xml file
popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());

//registering popup with OnMenuItemClickListener
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(MainActivity.this,"You Clicked : " + item.getTitle(),Toast.LENGTH_SHORT).show();
return true;
}
});

popup.show();//showing popup menu
}
});//closing the setOnClickListener method
}

}

Lover_Football
دوشنبه 21 مهر 1393, 03:12 صبح
من این کتابخونه رو پیدا کردم ولی هرکاری کردم توی ایکلیپس نتونستم ازش استفاده کنم !!!
نمونه ای که خودش داره اجرا میشه ولی توی پروژه خودم نتونستم ایمپورتش کنم.
اگه تونستی استفاده کنی، ممنون میشم به من هم بگی چه بلایی سرش اوردی :چشمک:


https://github.com/siyamed/android-satellite-menu

pbm_soy
سه شنبه 22 مهر 1393, 00:58 صبح
چرا من دارم

ببین همچین چیزی میخوای

poupup_menu.xml
<menu xmlns:androclass="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/one"
android:title="One"/>

<item
android:id="@+id/two"
android:title="Two"/>

<item
android:id="@+id/three"
android:title="Three"/>


</menu> MainActivity.java
import android.os.Bundle; import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;
public class MainActivity extends Activity {
Button button1;

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

button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
//Creating the instance of PopupMenu
PopupMenu popup = new PopupMenu(MainActivity.this, button1);
//Inflating the Popup using xml file
popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());

//registering popup with OnMenuItemClickListener
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(MainActivity.this,"You Clicked : " + item.getTitle(),Toast.LENGTH_SHORT).show();
return true;
}
});

popup.show();//showing popup menu
}
});//closing the setOnClickListener method
}

}

سپاسگذارم
من حواسم نبود میخواستم محل باز شدن optionMenu را عوض کنم بله از popupMenu میتونم استفاده کنم ولی اینم از API level 11 به بعد جواب میدهد! میخواستم حداقل در API level 8 جواب بده!
تنها راه حلم اینه که خودم بیام یک لایوت مخفی در صفحه بذارم و در زمان نیاز آنرا نمایش دهم و کلیک بروی گزینه های موجود در آن لایوت مخفی را مدیریت کنم!
بهترین کار اینه البته اگه فرصت بشه!