StateListDrawable의 특정 드로어 블에 색상 필터를 적용하는 방법은 무엇입니까?

InsanityOnABun

StateListDrawable포함 된 드로어 블에 적용된 색상 필터를 무시 하는 같습니다 . 예를 들면 :

StateListDrawable sld = new StateListDrawable();
Drawable pressedState = Context.getResources().getDrawable(R.drawable.solid_green);

pressedState.setColorFilter(Color.RED, PorterDuff.Mode.SRC);

sld.addState(new int[] {android.R.attr.state_pressed}, pressedState);
// Other states...

sld뷰의 배경에 적용 하면 뷰의 배경을 눌렀을 때 빨간색으로 바뀔 것으로 예상 할 수 있습니다. 대신 pressedState필터가 적용되지 않은 의 색상 인 녹색으로 바뀝니다 .

InsanityOnABun

이 문제를 해결하려면 StateListDrawable드로어 블이있는 상태에 따라 색상 필터를 자체 에 적용해야합니다 . 다음 확장은 StateListDrawable수행합니다.

public class SelectorDrawable extends StateListDrawable {

    public SelectorDrawable(Context c) {
        super();

        addState(new int[] {android.R.attr.state_pressed}, c.getResources().getDrawable(R.drawable.solid_green));
        // Other states...
    }

    @Override
    protected boolean onStateChange(int[] states) {
        boolean isClicked = false;
        for (int state : states) {
            if (state == android.R.attr.state_pressed) {
                isClicked = true;
            }
        }

        if (isClicked)
            setColorFilter(Color.RED, PorterDuff.Mode.SRC);
        else
            clearColorFilter();

        return super.onStateChange(states);
    }
}

로직 입력 onStateChange(int[] states)은 눌려진 상태 이상을 테스트하기 위해 더 확장 될 수 있으며 그에 따라 다른 색상 필터를 적용 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자 정의 navigationController 코드에서 특정 viewController를 대상으로하는 방법은 무엇입니까?

분류에서Dev

특정 필드에 삽입을 적용하는 방법은 무엇입니까?

분류에서Dev

R에서 특정 이름이 지정된 색상의 RGB 색상 코드를 아는 방법은 무엇입니까?

분류에서Dev

라이브 카메라 피드 iOS에 어떤 색상 으로든 크로마 키 필터를 적용하는 방법은 무엇입니까?

분류에서Dev

Wordpress에서 전역 적으로 사용자 정의 필드를 사용하는 방법은 무엇입니까?

분류에서Dev

특정 조건에 따라 CRM 엔터티의 "상태 이유"필드를 자동 업데이트하는 방법은 무엇입니까?

분류에서Dev

mongodb의 문서에서 배열 필드의 특정 데이터를 얻는 방법은 무엇입니까?

분류에서Dev

Seaborn Heatmap의 특정 색상에 컬러 바를 중앙에 배치하는 방법은 무엇입니까?

분류에서Dev

드로어 블의 크기를 설정하는 방법은 무엇입니까?

분류에서Dev

R의 data.frame에서 특정 변수를 기반으로 극단적 인 해의 데이터를 검색하는 방법은 무엇입니까?

분류에서Dev

드로어 블의 부분적인 색상 변경을 달성하는 방법은 무엇입니까?

분류에서Dev

Java의 특정 필드 값을 기반으로 Spark RDD를 필터링하는 방법은 무엇입니까?

분류에서Dev

데이터 테이블에서 특정 행의 레코드를 가져 오는 방법은 무엇입니까?

분류에서Dev

열의 특정 값에 상수를 곱하는 방법은 무엇입니까?

분류에서Dev

특정 sobject의 필드 레이블에서 필드의 API 이름을 찾는 방법은 무엇입니까?

분류에서Dev

JavaScript의 특정 입력 값에 데이터를로드하는 방법은 무엇입니까?

분류에서Dev

mysqli를 사용하여 테이블의 특정 필드에 여러 값을 삽입하는 방법은 무엇입니까?

분류에서Dev

SQL Server를 사용하여 특정 조건의 두 테이블에서 데이터를 검색하는 방법은 무엇입니까?

분류에서Dev

R에서 특정 값을 특정 색상으로 설정하는 방법은 무엇입니까?

분류에서Dev

페이지 매김을 위해 테이블 필드의 데이터를 기반으로 특정 행을 계산하는 방법은 무엇입니까?

분류에서Dev

for 루프를 사용하여 색상 위젯에서 선택한 색상과 일치하도록 'div'요소의 색상을 동적으로 설정하는 방법은 무엇입니까?

분류에서Dev

게시물에 사용자 정의 필드 데이터를 표시하는 방법은 무엇입니까?

분류에서Dev

특정 색상 표를 자동으로로드하도록 vim을 만드는 방법은 무엇입니까?

분류에서Dev

벡터 필드를 특정 반경의 원으로 제한하는 방법은 무엇입니까?

분류에서Dev

ggtext를 사용하여 r에서 축 데이터 레이블의 색상을 지정하는 방법은 무엇입니까?

분류에서Dev

cakephp의 테이블에서 특정 필드 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

Javafx BarChart를 사용하여 특정 막대의 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

입력 대화 상자에 입력 된 특정 양의 숫자를 허용하지 않는 예외를 만드는 방법은 무엇입니까?

분류에서Dev

HTML5 캘린더에 사용자 정의 색상을 적용하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    사용자 정의 navigationController 코드에서 특정 viewController를 대상으로하는 방법은 무엇입니까?

  2. 2

    특정 필드에 삽입을 적용하는 방법은 무엇입니까?

  3. 3

    R에서 특정 이름이 지정된 색상의 RGB 색상 코드를 아는 방법은 무엇입니까?

  4. 4

    라이브 카메라 피드 iOS에 어떤 색상 으로든 크로마 키 필터를 적용하는 방법은 무엇입니까?

  5. 5

    Wordpress에서 전역 적으로 사용자 정의 필드를 사용하는 방법은 무엇입니까?

  6. 6

    특정 조건에 따라 CRM 엔터티의 "상태 이유"필드를 자동 업데이트하는 방법은 무엇입니까?

  7. 7

    mongodb의 문서에서 배열 필드의 특정 데이터를 얻는 방법은 무엇입니까?

  8. 8

    Seaborn Heatmap의 특정 색상에 컬러 바를 중앙에 배치하는 방법은 무엇입니까?

  9. 9

    드로어 블의 크기를 설정하는 방법은 무엇입니까?

  10. 10

    R의 data.frame에서 특정 변수를 기반으로 극단적 인 해의 데이터를 검색하는 방법은 무엇입니까?

  11. 11

    드로어 블의 부분적인 색상 변경을 달성하는 방법은 무엇입니까?

  12. 12

    Java의 특정 필드 값을 기반으로 Spark RDD를 필터링하는 방법은 무엇입니까?

  13. 13

    데이터 테이블에서 특정 행의 레코드를 가져 오는 방법은 무엇입니까?

  14. 14

    열의 특정 값에 상수를 곱하는 방법은 무엇입니까?

  15. 15

    특정 sobject의 필드 레이블에서 필드의 API 이름을 찾는 방법은 무엇입니까?

  16. 16

    JavaScript의 특정 입력 값에 데이터를로드하는 방법은 무엇입니까?

  17. 17

    mysqli를 사용하여 테이블의 특정 필드에 여러 값을 삽입하는 방법은 무엇입니까?

  18. 18

    SQL Server를 사용하여 특정 조건의 두 테이블에서 데이터를 검색하는 방법은 무엇입니까?

  19. 19

    R에서 특정 값을 특정 색상으로 설정하는 방법은 무엇입니까?

  20. 20

    페이지 매김을 위해 테이블 필드의 데이터를 기반으로 특정 행을 계산하는 방법은 무엇입니까?

  21. 21

    for 루프를 사용하여 색상 위젯에서 선택한 색상과 일치하도록 'div'요소의 색상을 동적으로 설정하는 방법은 무엇입니까?

  22. 22

    게시물에 사용자 정의 필드 데이터를 표시하는 방법은 무엇입니까?

  23. 23

    특정 색상 표를 자동으로로드하도록 vim을 만드는 방법은 무엇입니까?

  24. 24

    벡터 필드를 특정 반경의 원으로 제한하는 방법은 무엇입니까?

  25. 25

    ggtext를 사용하여 r에서 축 데이터 레이블의 색상을 지정하는 방법은 무엇입니까?

  26. 26

    cakephp의 테이블에서 특정 필드 값을 가져 오는 방법은 무엇입니까?

  27. 27

    Javafx BarChart를 사용하여 특정 막대의 색상을 변경하는 방법은 무엇입니까?

  28. 28

    입력 대화 상자에 입력 된 특정 양의 숫자를 허용하지 않는 예외를 만드는 방법은 무엇입니까?

  29. 29

    HTML5 캘린더에 사용자 정의 색상을 적용하는 방법은 무엇입니까?

뜨겁다태그

보관