CheckMarkGravity attribute for Android CheckedTextView (api 21)

In the select_dialog_singlechoice_material.xml layout from the plattform source, the android attribute is used: checkMarkGravity = "start":

<?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" /> 

However, I cannot use this attribute in my project, because I get the following error:

Error: (15) Resource ID not found for attribute 'checkMarkGravity' in package 'android'

Is there any way to use this attribute? I compile for api 21, so this should be fine:

 minSdkVersion 21 targetSdkVersion 21 
+7
android android-5.0-lollipop checkedtextview
source share
2 answers

I do not know if this attribute is correct, but it does not exist in official docs: http://developer.android.com/intl/es/reference/android/widget/CheckedTextView.html

In any case, the value appears in the same proyect in this file (line 2052): https://github.com/android/platform_frameworks_base/blob/59701b9ba5c453e327bc0e6873a9f6ff87a10391/core/res/res/values/symbols.xml

0
source share

It is right. The code does use it, but the compiler does not allow it. The code has it in several places, and here, where it is initialized:

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

And an example of using Android layout XML files in XML is in "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 wrote about this question here , hoping that Google will release it for everyone to be used.

0
source share

All Articles