No menu button in phone , cannot use settings options in Android app -
i have developed app , uses settings using preference activity , action title bar . when press 3 dots-> settings button , displays not responding , can u .
manifest file code is
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="demoproject.swatygupta.com.demoproject_actionbar"> <application android:allowbackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsrtl="true" android:theme="@style/apptheme"> <activity android:name=".activity2_2preferenceactivityscreen" /> <activity android:name=".mainactivity" android:label="@string/app_name" android:theme="@style/apptheme.noactionbar"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application>
xml file in menu folder is
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:demoproject_actionbar="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="demoproject.swatygupta.com.demoproject_actionbar.mainactivity"> <item android:id="@+id/action_settings" android:icon="@android:drawable/ic_menu_manage" android:title="@string/action_settings" demoproject_actionbar:showasaction="never" />
have developed app , uses settings using preference activity , action title bar . when press 3 dots-> settings button , displays not responding , can u .
main activity class please find below , please find if error there while invoking method .-> public class mainactivity extends appcompatactivity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar); setsupportactionbar(toolbar); floatingactionbutton fab = (floatingactionbutton) findviewbyid(r.id.fab); fab.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { snackbar.make(view, "replace own action", snackbar.length_long) .setaction("action", null).show(); } }); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.menu_main, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { int id = item.getitemid(); //noinspection simplifiableifstatement if (id == r.id.action_settings) { startactivity(new intent(this, activity2_2preferenceactivityscreen.class)); return true; } return super.onoptionsitemselected(item);} }
preference screen activity code ->
public final class activity2_2preferenceactivityscreen extends preferenceactivity { public activity2_2preferenceactivityscreen() { super(); } // constructor() @override protected void oncreate(final bundle savedinstancestate) { super.oncreate(savedinstancestate); addpreferencesfromresource(r.xml.preferences); // camera preference final listpreference preferenceofcamera = (listpreference) findpreference("camera"); setcamerapreferences(preferenceofcamera); preferenceofcamera.setonpreferenceclicklistener(new preference.onpreferenceclicklistener(){ @override public boolean onpreferenceclick(preference preference) { setcamerapreferences(preferenceofcamera); return false; } }); // jpeg size preference final listpreference preferenceofsize = (listpreference) findpreference("size"); setsizepreferences(preferenceofsize, preferenceofcamera); preferenceofsize.setonpreferenceclicklistener(new preference.onpreferenceclicklistener(){ @override public boolean onpreferenceclick(preference preference) { setsizepreferences(preferenceofsize, preferenceofcamera); return false; } }); } // oncreate(bundle) private void setcamerapreferences(final listpreference camerapreference) { final int numberofcameras = camera.getnumberofcameras(); final charsequence[] entries = new charsequence[numberofcameras]; final charsequence[] entryvalues = new charsequence[numberofcameras]; final camera.camerainfo infoabtcamera = new camera.camerainfo(); (int cameraindex = 0; cameraindex < numberofcameras; cameraindex++) { camera.getcamerainfo(cameraindex, infoabtcamera); string camerafacing; switch (infoabtcamera.facing) { case camera.camerainfo.camera_facing_back: camerafacing = "back"; break; case camera.camerainfo.camera_facing_front: camerafacing = "front"; break; default: camerafacing = "unknown"; } // switch entries[cameraindex] = "camera " + cameraindex + " " + camerafacing; entryvalues[cameraindex] = string.valueof(cameraindex); } //for camerapreference.setentries(entries); camerapreference.setentryvalues(entryvalues); } // setcamerapreferences(listpreference) private void setsizepreferences(final listpreference sizepreference, final listpreference camerapreference) { final string camerapreferencevalue = camerapreference.getvalue(); final int cameraindex; if (camerapreferencevalue != null) { cameraindex = integer.parseint(camerapreferencevalue); } // if else { cameraindex = 0; } // else final camera camera = camera.open(cameraindex); final camera.parameters params = camera.getparameters(); camera.release(); final list<camera.size> supportedpreviewsizes = params.getsupportedpreviewsizes(); charsequence[] entries = new charsequence[supportedpreviewsizes.size()]; charsequence[] entryvalues = new charsequence[supportedpreviewsizes.size()]; (int previewsizeindex = 0; previewsizeindex < supportedpreviewsizes.size(); previewsizeindex++) { camera.size supportedpreviewsize = supportedpreviewsizes.get(previewsizeindex); entries[previewsizeindex] = supportedpreviewsize.width + "x" + supportedpreviewsize.height; entryvalues[previewsizeindex] = string.valueof(previewsizeindex); } // sizepreference.setentries(entries); sizepreference.setentryvalues(entryvalues); } / setsizepreferencedata(listpreference)
}`
you can use toolbar shown below
hey put code in layout file.
<android.support.v7.widget.toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionbarsize" android:background="?attr/colorprimary" android:elevation="4dp" android:theme="@style/themeoverlay.appcompat.actionbar" app:popuptheme="@style/themeoverlay.appcompat.light"/>
and in java file code should there
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_my); toolbar mytoolbar = (toolbar) findviewbyid(r.id.my_toolbar); setsupportactionbar(mytoolbar); }
specially these 2 lines
toolbar mytoolbar = (toolbar) findviewbyid(r.id.my_toolbar); setsupportactionbar(mytoolbar);
and show user soft menu button in top right corner.
Comments
Post a Comment