ListView에 표시용 값을 입력하고 
버튼 눌러서 호출 될 때 마다 AlertDialog에 리스트를 설정하는 코드를 만들었다.

  dialog = new AlertDialog.Builder(this)

            .setTitle(R.string.fontDialogTitle)

            .setCancelable(false)

            .setPositiveButton(R.string.fontDialogBtn,

                    new DialogInterface.OnClickListener() {

                @Override

                public void onClick(DialogInterface dialog, int which) {

                    dialog.dismiss();

                    dialogClickListener(dialog, which);

                }

            })

            .setView(fontListView /* 어딘가에서 생성해 둔 ListView */)

            .create();

 요런 느낌.
실행해 보니...

Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

 Exception! 왜!! Why!

...
Android의 ViewGroup, 그 계승 클래스들은 한번 설정된 부모를 멋대로 바꿀 수 없도록 되어있었다. 쿨럭.

가령, 요번같은 경우는 Layout의 부모를 찾아(getParent()) 
fontListView를 제거해준 후(removeView()),
dialog아래에 다시 추가 해 줘야 한다는걸 알게되었당...

 아... 이래서 모르면 안된다는거야... 쿨럭..
 
저작자 표시 비영리 변경 금지
신고
posted by White Zombie

아.. 요 몇일간 브라우져 언어에 맞춰서 일본어/한국어 를 바꾸게끔 했었는데...
오늘은 시간도 없고 해서 패스.

여러가지 테스트를 해 보는 도중에,
애니메이션 처리에 대해서 상당히 쉽게 접근하도록 해 둔것을 알게 되어서 끄적끄적...

대부분의 애니메이션 처리를 xml정의로 만들어서 
필요할 때 불러쓰면 끝!

복수 이미지를 순서대로 불러서 제어하는 Frame애니메이션 부터
하나의 이미지에 대해서 이동/명도제어/각도조절 등등의 변경이 가능하다.

xml쪽은 길어질지 모르지만, 이것도 "디자인과 코드" 의 분리를 원활하게 하기 위한 방법이겠지.

 만들어보고 싶은것은 대충 다 만들었으니, 
다음부터는 오셀로 게임을 만들면서
부분부분 간단하게 적어나가볼까 ~ 한다.
 
아, 안드로이드마켓에 개발자 등록 하지않으면... ㅋㅋ
( https://market.android.com/publish/ ) 
저작자 표시 비영리 변경 금지
신고
posted by White Zombie
아.. 춥다.
자판 두들기는것도 힘들정도로 춥구나... 쿨럭.

얼마전에 TextView에 문자 출력하다가 긴~ 문자를 어떻게 스크롤 시킬까 찾아본적이 있어서 기록.

일단 xml에 TextView레이아웃을 적어보자.. 끄적끄적..

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <TextView

            android:id="@+id/viewString"

            android:layout_width="match_parent"

            android:layout_height="match_parent"

            android:singleLine="true"

          android:ellipsize="marquee"

          android:marqueeRepeatLimit="marquee_forever"

          android:focusable="true"

          android:focusableInTouchMode="true"

            />

</LinearLayout>

 
붉은글씨가 문자 스크롤, 즉 marquee를 실행시키는 부분.
다만, 샘플코드에는 위에 두개만 설정이 되어있는데,
내부적으로 포커스가 가지 않으면 스크롤이 되지 않도록
TextView코드가 만들어져 있다는...( Orz 한참 찾았잖아) 

해서 아래 
android:focusable="true"

android:focusableInTouchMode="true" 
를 추가. 
가운데  
marqueeRepeatLimit 는 반복횟수. 즉 위 설정대로라면 무한뱅글. ㅋ
하지만... 이거... 너무 느려! 조절도 안돼고... 쿨럭.  


寒!
キーボード叩くのも辛いわ。。。指痺れる。。。

ちょっと前にTextViewへ文字列を出力しながら、「長ーい」文字の対応に困っていたけど。。。とりあえずmarqueeで対応することに。

まずはTextViewレイアウトを書こう。適当ーに。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <TextView

            android:id="@+id/viewString"

            android:layout_width="match_parent"

            android:layout_height="match_parent"

            android:singleLine="true"

          android:ellipsize="marquee"

          android:marqueeRepeatLimit="marquee_forever"

          android:focusable="true"

          android:focusableInTouchMode="true"

            />

</LinearLayout>

 
赤文字になっているのがmarqueeを処理するための設定。あれでスクロールするわ。
サンプルなどを見ると、上から2行目までが書かれているけど、それだと機種によっては動かないものもあるっぽい。
フォーカスが設定されないと動かない「仕様」になっているのが原因。
TextViewのコードを見てみるとフォーカスが設定された場合のみ、実行するようになっているのがわかる。 

で、下の 
android:focusable="true"

android:focusableInTouchMode="true" 
この設定を追加。 
そして  
marqueeRepeatLimit こっちはループ回数。今は無限地獄になっているね。w
ただ、これ、スクロールスピードの調整が出来ない上に
おせーよ!  

신고
posted by White Zombie
간간히 시간을 내어서 Android개발에 착수.
아직은 공부하는 범위에 머물러 있지만... w

일단 가장 해보고싶었던 "손전등" 어플 개발에 착수!

아주 보편화된 어플인 손전등의 원리는 간단.
카메라 제어기능을 통해서 LED플래쉬를 껏다 켰다 하는것.
물론, 세세한 기능으로 들어가면
LED색상지정(단말기가 지원하는경우), 빛의 강도 등을 조절할 수 있지만.

Camera클래스와 Parameters클래스를 사용해서 플래쉬를 제어 할 수 있...
을거라 생각했는데, 테스트용으로 사용한 Galaxy A 님의 플래쉬는 먹통....

갤럭○시리즈 중에 가장 먼저 태어나신 이 분은, 표준이라고는 찾아볼 수 없는
사양이었나보다.... Orz

뭐... 아쉬운대로 백라이트 켜서 사용중. ㅋ

자세한 이야기는 다음번에.  

最近、ちょっとづつ アンドロイド開発をしている。
まだ始めたばっかだけど。。。w 勉強を兼ねて、ね。

前々からやってみたかった「ライト」アプリを作ろうと思って色々見てみた。

まぁ、ごく一般的なアプリになっているけど。。。でもやりたいからやるには問題なし!後はデザインなどで差別をすれば! (まじか)
普通、カメラクラスとパラメータクラスを利用し、LEDフラッシュを制御するようになっている。
細かい制御も色々出来るけど。
(LED色(赤、緑)指定(端末が支援する場合), 光の強さなど)

さっきも言ったけどCameraクラスと Parametersクラスを使えば簡単に出来ると思ったけど、
Samsun○のG○laxy A  様はビクともしなかったのだ!

すげーよ!標準などいねーよ!これがギャラックシーか!! 
ああ。。。ごめんなさい。ちょっと興奮しました。まぁ、Gala○y Aでは普通にはLEDの制御が出来ない仕様になっております。

ここはとりあえず一歩引いて。バックライトで我慢。

詳しい話は次回にまた。 
신고
posted by White Zombie

오래간만(정말로)에 집에서 이클립스와 안드로이드 (샘플용)어플을 기동시켜봤더니,
뭐가 어떻게 된건지 번번히 기동실패.

툴 업뎃 안한지도 오래되고 해서
이참에 걍 밀고 새로 설치하기로...(뭐... 업뎃해도 괜찮을거라 생각은 하지만...)
 
4.0(API Level 15)도 설치가 가능하니...
냅다 인스톨 항목에 넣어두고 설치하기 시작했는데..

이버젼 저버젼을 다 넣으려 하니 업데이트 하는데 엄청난 시간이 걸리더라는.
(거기다, 중간중간에 확인창이 나와서 , 업뎃 걸어놓고 잘수도 없는 상황이...)

아오... 단순히 네트워크 속도가 느린거잖아..!
어케 좀 해라..  
신고
posted by White Zombie

티스토리 툴바