배열을 수신하고 배열 을 기반으로 레이아웃을 만드는 LinearLayout을 확장하는 클래스가 있습니다.XML의 사용자 정의 선형 레이아웃
이제 활동의 OnCreate 메소드에서 레이아웃을 작성하고 레이아웃에 setContentView 을 사용하십시오. 레이아웃 XML 파일에서 LinearLayout 또는 유사한 방법을 사용하므로 XML로 사용할 수 있는지 여부를 알고 싶습니다.
배열을 수신하고 배열 을 기반으로 레이아웃을 만드는 LinearLayout을 확장하는 클래스가 있습니다.XML의 사용자 정의 선형 레이아웃
이제 활동의 OnCreate 메소드에서 레이아웃을 작성하고 레이아웃에 setContentView 을 사용하십시오. 레이아웃 XML 파일에서 LinearLayout 또는 유사한 방법을 사용하므로 XML로 사용할 수 있는지 여부를 알고 싶습니다.
사용자 정의 LinearLayout
을 레이아웃에 사용하려면 <path_to_your_custom_layout_class...
으로 새 요소를 선언하십시오.
예. 가능합니다. XML 레이아웃에서
:
<com.my.package.MyView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:MyStyleable="http://schemas.android.com/apk/res/com.my.package"
android:id="@id/id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
MyStyleable:attr1="ATTR1 VALUE"
MyStyleable:attr2="ATTR2 VALUE" />
알림 사용자 지정 특성을 포함 사용자 정의 xml namespace xmlns:MyStyleable
.
<resources>
<attr name="attr1" format="string" />
<attr name="attr2" format="boolean" />
</resources>
그런 다음 사용자 정의 뷰 클래스에, XML에서 값을 검색 :
사용자 정의 정의는 res/values/attr.xml
속성
String attr1 = a.getString(R.styleable.attr1);
boolean attr2 = a.getBoolean(R.styleable.attr2);
은 분명 바랍니다. !
하지만 부울 배열이 필요합니다. 하나의 속성뿐만 아니라 – aclokay
같은 방법으로 할 수 있습니다. 부울 배열의 이름을 사용자 정의보기로 전달하는'String' 속성을 만듭니다! –
좋아,하지만 어떻게 내 부울 multidimesinal 배열을 전달할 것이라고? – aclokay
런타임 전에 배열이 있습니까? –
@ user1050389 짧은 대답은 할 수 없습니다. 레이아웃을 스타일 지정 가능하게 만들고 사용자 정의 속성을 적용 할 수 있지만 Android에서 XML로 2D 배열을 만들 수는 없습니다. 따라서 프로그래밍 방식으로 처리해야합니다. – adneal