마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 폰트박스를 생성 후...

0 추천

안드로이드 Fragment 에서 폰트수정할 수 있는 폰트박스를 생성 후 띄웁니다. 

구동시 android 4.4.2 API 19 환경에서는 폰트박스가 리스너를 통해 기능 문제 없이 잘 동작합니다.

하지만 android 6.0 API 23 에서는 생성 이후 생성된 폰트박스가 화면에 띄워지기는 하나 어느 

버튼도 먹히지 않고 화면터치시 띄워놓은 폰트박스가 없어지는 증상이 나타납니다.

고수님들 어떤 해결방법이 있을까요?

폰트박스 생성은 아래와 같습니다.  

ps. 폰트박스 뿐만 아니라 검색, 리스트도 동일하게 생성 후 띄우는데 android 6.0 API 23에서 띄워지기까지만 할 뿐 터치시 띄워진 화면이 사라집니다.

public void makeFontBox() {
    int boxColor = Color.rgb(241, 238, 229);
    int innerBoxColor = Color.rgb(246, 244, 239);
    int inlineColor = Color.rgb(133, 105, 75);

    int width = 450;
    int height = 500;
    fontBox = new SkyBox(mContext);
    fontBox.setBoxColor(boxColor);
    fontBox.setArrowHeight(ps(25));
    fontBox.setArrowDirection(false);
    setFrame(fontBox, ps(50), ps(200), ps(width), ps(height));

    ScrollView fontBoxScrollView = new ScrollView(mContext);
    this.setFrame(fontBoxScrollView, ps(5), ps(10), ps(440), ps(height - 50));
    fontBox.contentView.addView(fontBoxScrollView);    // NEW

    SkyLayout contentLayout = new SkyLayout(mContext);
    fontBoxScrollView.addView(contentLayout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

    // #1 first make brightness controller
    // brView is the box containing the bright slider.
    int FY = 10;
    View brView = new View(mContext);
    RoundRectShape rrs = new RoundRectShape(new float[]{ps(5), ps(5), ps(5), ps(5), ps(5), ps(5), ps(5), ps(5)}, null, null);
    UiUtil.UiDrawable srd = (new UiUtil()).new UiDrawable(rrs, innerBoxColor, inlineColor, 1);
    brView.setBackgroundDrawable(srd);
    setFrame(brView, ps(20), ps(FY), ps(width - 40), ps(53));
    contentLayout.addView(brView);
메탈존 (180 포인트) 님이 2017년 4월 4일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...