Как можно увидеть полный список ** фактически ** поддерживаемых атрибутов стиля любого элемента управления для Android? - PullRequest
0 голосов
/ 13 мая 2018

Как можно увидеть полный список на самом деле поддерживаемых атрибутов стиля любого элемента управления для Android?

Например, я пытаюсь увидеть, что я могуатрибуты, которые я могу установить в стиле для ActionMenuView control:

    <android.support.v7.widget.ActionMenuView
        android:id="@+id/toolbarLeft"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:gravity="center_vertical|start"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

Например, я не могу понять, должен ли он поддерживать атрибут android:gravity.Я не вижу никакой разницы, применяя его.

Я хочу знать, где я могу найти полный список поддерживаемых атрибутов.Кажется, что документация Android не включает эту информацию: https://developer.android.com/reference/android/support/v7/widget/ActionMenuView

Ответы [ 3 ]

0 голосов
/ 13 мая 2018

ActionMenuView просто расширяет LinearLayoutCompat, и в нем нет специальных атрибутов. Вы можете увидеть исходный источник ниже.

/**
 * ActionMenuView is a presentation of a series of menu options as a View. It provides
 * several top level options as action buttons while spilling remaining options over as
 * items in an overflow menu. This allows applications to present packs of actions inline with
 * specific or repeating content.
 */
public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.ItemInvoker,
        MenuView {

    private static final String TAG = "ActionMenuView";

    static final int MIN_CELL_SIZE = 56; // dips
    static final int GENERATED_ITEM_PADDING = 4; // dips

    private MenuBuilder mMenu;

    /** Context against which to inflate popup menus. */
    private Context mPopupContext;

    /** Theme resource against which to inflate popup menus. */
    private int mPopupTheme;

    private boolean mReserveOverflow;
    private ActionMenuPresenter mPresenter;
    private MenuPresenter.Callback mActionMenuPresenterCallback;
    MenuBuilder.Callback mMenuBuilderCallback;
    private boolean mFormatItems;
    private int mFormatItemsWidth;
    private int mMinCellSize;
    private int mGeneratedItemPadding;

    OnMenuItemClickListener mOnMenuItemClickListener;

    public ActionMenuView(Context context) {
        this(context, null);
    }

    public ActionMenuView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setBaselineAligned(false);
        final float density = context.getResources().getDisplayMetrics().density;
        mMinCellSize = (int) (MIN_CELL_SIZE * density);
        mGeneratedItemPadding = (int) (GENERATED_ITEM_PADDING * density);
        mPopupContext = context;
        mPopupTheme = 0;
    }
0 голосов
/ 13 мая 2018

Неподдерживаемая версия классов содержит больше информации в документации, включая поддерживаемые атрибуты XML. Например: https://developer.android.com/reference/android/widget/ActionMenuView

Но, похоже, для поддержки версии соответствующих классов атрибуты могут просто не работать.

0 голосов
/ 13 мая 2018

Для гравитации вы не можете.Поскольку Gravity не является атрибутом представления, он является атрибутом того, как он вписывается в родительское представление.Так что на самом деле это зависит от того, поддерживает ли это родительское представление или нет.То же самое для layout_weight, layout_width, layout_height и полей, среди других.

...