2017-11-20 17 views
0

android:ellipsize (TextView을 확장하는) 사용자 정의 android:ellipsize에있는 속성 값을 얻는 방법은 무엇입니까? 사용자 정의보기 생성자에서 android : ellipsize 속성의 값을 가져옵니다.

나는 다음과 같은 방법을 시도했지만 작동하지 않았다 :

Log.d(TAG, attrs.getAttributeIntValue(ANDROID_NAMESPACE, "ellipsize", -1)); 
Log.d(TAG, attrs.getAttributeValue(ANDROID_NAMESPACE, "ellipsize")); 
Log.d(TAG, attrs.getAttributeUnsignedIntValue(ANDROID_NAMESPACE, "ellipsize", 111)); 
Log.d(TAG, attrs.getAttributeListValue(ANDROID_NAMESPACE, "ellipsize", new String[] {"x", "marquee"}, -1)); 

참고하십시오 attrsAttributeSet (생성자 매개 변수)이며, ANDROID_NAMESPACE"http://schemas.android.com/apk/res/android"입니다.

답변

1

getAttributeValue 방법이 예제 (코 틀린)에서 나를 위해 작동 :

import android.content.Context 
import android.util.AttributeSet 
import android.widget.TextView 

class Text(context: Context, attrs: AttributeSet) : TextView(context, attrs) { 
    init { 
     println("ellipsize: " + 
       attrs.getAttributeValue(
         "http://schemas.android.com/apk/res/android", 
         "ellipsize" 
       ) 
     ) 
    } 
} 

그것은 인쇄 :

11-20 20:49:18.808 26804-26804/com.package.app I/System.out: ellipsize: 1

을이 뷰 :

<com.package.app.Text 
     android:id="@+id/test" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ellipsize="start" /> 
+0

감사합니다. 내 경우에는, 그것은'null'를 돌려주고 있었다! 나는 그 차이점에 대한 이유를 발견했다 : 나는 스타일에서 값을 설정했다. (요소 XML 태그에서 직접적으로). –