public static void addActionsButton(BaseButton baseButton) { Drawable iconImage = mShell.getResources().getDrawable(baseButton.getButtonIconId()); int ten_dip = (int) (10 * mShell.getResources().getDisplayMetrics().density); ImageView buttonIcon = new ImageView(mShell.getContext()); buttonIcon.setImageDrawable(iconImage); LayoutParams iconParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); iconParams.setMargins(ten_dip, 0, 0, 0); iconParams.gravity = Gravity.CENTER_VERTICAL; TextView buttonText = new TextView(mShell.getContext()); buttonText.setText(baseButton.getButtonText()); buttonText.setTextColor(Color.WHITE); buttonText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20); LayoutParams textParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); buttonText.setPadding(ten_dip, ten_dip, ten_dip, ten_dip); LinearLayout button = new LinearLayout(mShell.getContext()); button.addView(buttonIcon, iconParams); button.addView(buttonText, textParams); baseButton.setActionImageView(buttonIcon); baseButton.setActionTextView(buttonText); button.setOnClickListener(baseButton.getOnClickListener()); ActionButtonRunnable addButtonRunnable = new ActionButtonRunnable(button); mCurrentActivity.runOnUiThread(addButtonRunnable); }
@Override public void run() { LinearLayout actionsButtons = (LinearLayout) mShell.findViewById(R.id.action_buttons_container); ImageView menuSeparator = new ImageView(mShell.getContext()); Drawable menuSeparatorImage = mShell.getResources().getDrawable(R.drawable.ui_menu_separator); menuSeparator.setImageDrawable(menuSeparatorImage); menuSeparator.setScaleType(ScaleType.FIT_XY); LayoutParams separatorParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); actionsButtons.addView(mButton, actionsButtons.getChildCount()); actionsButtons.addView(menuSeparator, separatorParams); }