2012-03-17 5 views
2

ListView 그 자체를 확장하여 나만의 맞춤형 ListView를 만들고 있습니다. 이 특정 ListView에는 스크롤 막대가 없어야합니다.Android의 사용자 정의보기에서 특정 XML 속성을 비활성화 할 수 있습니까?

  1. 사용자 정의 ListView에 대한 XML android:scrollbars 속성을 어떻게 비활성화 할 수 있습니까?
  2. 프로그래밍 방식으로 비활성화 할 수있는 방법을 찾을 수 없습니다. 내가 뭘 놓치고 있니?

dzeikei 년대 대답은 프로그래밍 스크롤을 비활성화하고 android:scrollbars에서 모든 값을 무시하지만 정말 1. 요구하고있어 사용자 정의 구성 요소에 대한 android:scrollbars 잘못된 속성을 만드는 방법입니다 것입니다.

답변

2

업데이트 리카르도가 발견으로 스크롤이 내부적으로 표시되기 때문에 :) 내 원래의 대답은 반대의 방법처럼 확인을 보인다

올바른 방법은 생성자에서 super.setHorizontalScrollBarEnabled(false)super.setVerticalScrollBarEnabled(false)를 호출하는 것입니다 setHorizontalScrollBarEnabled()setVerticalScrollBarEnabled()는 아무것도하지 오버라이드 (override) : D 다시 하위 클래스에서

재정 isHorizontalScrollBarEnabled()isVerticalScrollBarEnabled()false 번으로 가십시오.

또한 좋은 조치로 setHorizontalScrollBarEnabled() 및 를 무시할 수 있습니다.

+0

고마워요. 하지만 내 주요 질문은 질문 제목에 지정된 XML 특성에 관한 것입니다. 그냥 명확하게, 그 방법을 무시하는 것이 트릭을 할 것이라는 것을 알고 있지만, 사용자 정의 컴포넌트에 대해'android : scrollbars'를 사용할 수 없게 만드는 방법이 있다면 제가 묻는 것입니다. 어쩌면 나는 그 질문을 분명히해야한다. –

+0

'declare-styleable>은 메소드 선언과 유사하지만, 서브 클래스에서 선언 할 수 없다. 당신은 저를 틀리게 증명하는 것을 환영합니다 :) – dzeikei

+0

나는 당신을 잘못 증명하고 싶지 않습니다. 그 대답을 찾고 여기에 왔어요 ... –

0

android : scrollbars를 @null로 유지하십시오. 확실하지 않습니다. 하지만 XML 속성에서 아무 것도 제거하고 싶을 때는 보통 @null을 사용합니다.

+0

질문을 다시 읽으십시오. –

+0

죄송합니다. 사용자 지정 어댑터가있는 일반 ListView를 생각했습니다. – Pavandroid