在一些设备上的android动作栏字幕文本剪辑

时间:2014-06-17 09:55:39

标签: android action

我有和Android支持操作栏和抽屉布局在我的Android应用程序和字幕文本只是从一些设备的底部剪辑。我该如何解决这个

我正在使用此代码的支持操作栏

    public class ZMainActivity extends ActionBarActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

                mTitle = mDrawerTitle = getTitle();

                navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);

                // nav drawer icons from resources
                navMenuIcons = getResources()
                        .obtainTypedArray(R.array.nav_drawer_icons);


                mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
                mDrawerList = (ListView) findViewById(R.id.list_slidermenu);

                navDrawerItems = new ArrayList<NavDrawerItem>();
                // Pages
                // adding nav drawer items to array

                navDrawerItems.add(new NavDrawerItem("Favourite", R.drawable.favourite));

                // Home
                navDrawerItems.add(new NavDrawerItem("Qibla", R.drawable.compass));
                // Photos
                navDrawerItems.add(new NavDrawerItem("Masjid Near Me", R.drawable.near));
                // Communities, Will add a counter here
                navDrawerItems.add(new NavDrawerItem("Find Nearest Jamat",R.drawable.loca_72, false, "22"));
                // What's hot, We  will add a counter here
                // Find Peopl
                navDrawerItems.add(new NavDrawerItem("Namaz Times", R.drawable.namaz_times));

                navDrawerItems.add(new NavDrawerItem("Notifications", R.drawable.notif, true, String.valueOf(_appPrefs.getCurrentCount())));


                  try {
                        ViewConfiguration config = ViewConfiguration.get(this);
                        Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
                        if(menuKeyField != null) {
                            menuKeyField.setAccessible(true);
                            menuKeyField.setBoolean(config, false);
                        }
                    } catch (Exception ex) {
                        // Ignore
                    }
                // Recycle the typed array
                navMenuIcons.recycle();

                mDrawerList.setOnItemClickListener(new SlideMenuClickListener());

                // setting the nav drawer list adapter
                adapter = new NavDrawerListAdapter(getApplicationContext(),
                        navDrawerItems);
                mDrawerList.setAdapter(adapter);
                getSupportActionBar().setHomeButtonEnabled(true);
                TextView t = new TextView(getApplicationContext());
                t.setText("Meri Masjid");
                t.setTextSize(30);
                t.setTextColor(Color.WHITE);
                t.setTypeface(null, Typeface.BOLD); // Typeface.NORMAL, Typeface.ITALIC etc.
                getSupportActionBar().setCustomView(t);
                int actionBarTitleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
                if (actionBarTitleId > 0) {
                    TextView title = (TextView) findViewById(actionBarTitleId);

                    if (title != null) {
                        title.setTextSize(0.5f);
                        title.setTextColor(Color.BLACK);
                        title.setTextSize(25);
                    }
                }
                getSupportActionBar().setDisplayHomeAsUpEnabled(true);
                getSupportActionBar().setHomeButtonEnabled(true);

                mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
                    R.drawable.ic_drawer, //nav menu toggle icon
                    R.string.app_name, // nav drawer open - description for accessibility
                    R.string.app_name // nav drawer close - description for accessibility
            ) {
                public void onDrawerClosed(View view) {
                    getSupportActionBar().setTitle(mTitle);
                    supportInvalidateOptionsMenu();
                }

                public void onDrawerOpened(View drawerView) {
                    getSupportActionBar().setTitle(mTitle);
                    supportInvalidateOptionsMenu();
                }
            };
            mDrawerLayout.setDrawerListener(mDrawerToggle);

            if (savedInstanceState == null) {


                    displayView(0);

            }
        }

        /**
         * Slide menu item click listener
         * */
        private class SlideMenuClickListener implements
                ListView.OnItemClickListener {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {
                displayView(position);

            }
        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            /***/
          return true;  
        }
        /* *
         * Called when invalidateOptionsMenu() is triggered
         */
        @Override
        public boolean onPrepareOptionsMenu(Menu menu) {
    /*      // if nav drawer is opened, hide the action items
            boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
            menu.findItem(R.id.action_search).setVisible(!drawerOpen);
    */      return super.onPrepareOptionsMenu(menu);
        }

public void displayView(int position){
if (fragment != null) {
            FragmentManager fragmentManager = getSupportFragmentManager();
            fragmentManager.beginTransaction()
                    .replace(R.id.frame_container, fragment).commit();

            // update selected item and title, then close the drawer
            mDrawerList.setItemChecked(position, true);
            mDrawerList.setSelection(position);
            getSupportActionBar().setSubtitle(navMenuTitles[position]);
            //setTitle(navMenuTitles[position]);
            mDrawerLayout.closeDrawer(mDrawerList);
        } else {
            // error in creating fragment
            Log.e("MainActivity", "Error in creating fragment");
        }
    }

}
        @Override
        public void setTitle(CharSequence title) {
            mTitle = title;
            getSupportActionBar().setTitle(mTitle);
            //getActionBar().setTitle(mTitle);
        }

        /**
         * When using the ActionBarDrawerToggle, you must call it during
         * onPostCreate() and onConfigurationChanged()...
         */

        @Override
        protected void onPostCreate(Bundle savedInstanceState) {
            super.onPostCreate(savedInstanceState);
            // Sync the toggle state after onRestoreInstanceState has occurred.
            mDrawerToggle.syncState();
        }

        @Override
        public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
            // Pass any configuration change to the drawer toggls
            mDrawerToggle.onConfigurationChanged(newConfig);
        }


    }

1 个答案:

答案 0 :(得分:0)

对于那些仍在寻找答案的人,只需像这样设置您的工具栏:

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"