2014-12-15 4 views
7

select_dialog_singlechoice_material.xml расположение от источника Plattform использует андроида: checkMarkGravity = "старт" атрибут:Android checkMarkGravity из CheckedTextView (API 21)

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
Copyright (C) 2014 The Android Open Source Project 
Licensed under the Apache License, Version 2.0 (the "License"); 
you may not use this file except in compliance with the License. 
You may obtain a copy of the License at 
     http://www.apache.org/licenses/LICENSE-2.0 
Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an "AS IS" BASIS, 
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
See the License for the specific language governing permissions and 
limitations under the License. 
--> 

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:minHeight="?android:attr/listPreferredItemHeightSmall" 
android:textAppearance="?android:attr/textAppearanceMedium" 
android:textColor="?android:attr/textColorAlertDialogListItem" 
android:gravity="center_vertical" 
android:paddingStart="@dimen/alert_dialog_padding_material" 
android:paddingEnd="@dimen/alert_dialog_padding_material" 
android:checkMark="?android:attr/listChoiceIndicatorSingle" 
android:checkMarkGravity="start" 
android:ellipsize="marquee" /> 

Однако я не могу использовать этот атрибут в моем проекте поскольку я получаю следующую ошибку:

Error:(15) No resource identifier found for attribute 'checkMarkGravity' in package 'android'

Можно ли каким-либо образом использовать этот атрибут? Я компиляции для API 21, так что это должно быть в порядке:

minSdkVersion 21 
targetSdkVersion 21 
+1

Это не публичный атрибут, поэтому вы не сможете его использовать. – alanv

ответ

0

Я не знаю, если этот атрибут является правильным, но это не распространяется существует в официальной документации: http://developer.android.com/intl/es/reference/android/widget/CheckedTextView.html

Во всяком случае, значение появляется в этом же proyect в этом файле (строка 2052): https://github.com/android/platform_frameworks_base/blob/59701b9ba5c453e327bc0e6873a9f6ff87a10391/core/res/res/values/symbols.xml

0

Это правильно. Код действительно использует его, но компилятор не позволяет его использовать. Код имеет его в нескольких местах, а вот где она инициализируется:

public CheckedTextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { 
    .... 
    mCheckMarkGravity = a.getInt(R.styleable.CheckedTextView_checkMarkGravity, Gravity.END); 

И, пример использования в файлах макета XML Android, в «preference_material.xml»:

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="?android:attr/listPreferredItemHeightSmall" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="?android:attr/textColorAlertDialogListItem" 
    android:gravity="center_vertical" 
    android:paddingStart="?attr/dialogPreferredPadding" 
    android:paddingEnd="?attr/dialogPreferredPadding" 
    android:checkMark="?android:attr/listChoiceIndicatorSingle" 
    android:checkMarkGravity="start" 
    android:ellipsize="marquee" /> 

I Мы писали об этом выпуске here, надеясь, что Google выпустит его для всех, кто будет использоваться.

 Смежные вопросы

  • Нет связанных вопросов^_^