갤럭시S 의 2.2 프로요 동영상이 유튜브에 있네요..
음.. 이거 곧 업데이트 될 기대가 되네요 ㅎㅎ
빨리 되었으면 하네요... 하드웨어 스펙과 빠른 2.2가 만나면 어떤 반응이 될런지.. ㅎ




TextView에서 text의 길이가 길면 맨 뒤에 있는 글자들은 잘려서 안보이게 됩니다.
그럴 경우 좌에서 우로 움직이며 보이게 하는 효과를 줄 수 있습니다.
방법으로는

xml에서속성 중에서

android:singleLine="true"
android:focusable="true"
android:ellipsize="marquee"

이 3개의 속성은 꼭 해줘야 합니다... 그리고 실행하면 안나옵니다.
선택을 해 줘야 좌에서 우로 보이는 marquee 텍스트가 보이는데... 화면에 다 안보이는 텍스트 일 때 바로 marquee 효과가 나오게 할려면

setSelected(true);


을 해 줘야지 좌에서 우로 보이는 marquee 텍스트를 볼 수 있습니다. :)



layout 디자이을 할 때 margin값을 사용하곤 합니다.
디자이너에서는


그림과 같이 해당 부분의 값을 변경하여 margin 값을 사용하곤 합니다.

하지만 java 코드에서 이 값을 변경하기 위해서는 layout의 객체에 직접적인 값을 할당하지 못합니다.
변경하고 싶은 해당 layout이 있다면, 이 해당 layout을 포함하고 있는 ViewGroup이 있을 것입니다.


그림에서 LinearLayout1의 margin값을 변경하고 싶다면 코드 상으로는
LinearLayout layout1 = (LinearLayout) findViewById(R.id.LinearLayout1);

/*변경하고 싶은 레이아웃의 파라미터 값을 가져 옴*/
RelativeLayout.LayoutParams plControl = (RelativeLayout.LayoutParams) layout1.getLayoutParams();

/*해당 margin값 변경*/
plControl.bottomMargin = 10;
plControl.topMargin = 10;

/*변경된 값의 파라미터를 해당 레이아웃 파라미터 값에 셋팅*/
layout1.setLayoutParams(plControl);

코드로는 이런식으로 변경 합니다.
해당 레이아웃의 파라미터 값을 변경하겠다고, 해당 레이아웃의 LayoutParams의 객체를 만드는 것이 아니라, 그 상위에 있는 ViewGroup의 레이아웃의 객체를 만들어 내는 것이 필요하겠습니다. 이렇게 안하면 에러가 나요 ㅜㅜ




안드로이드가 스크린 크기가 다양합니다.
그래도 dip를 사용해서는 다양한 크기에 대응할 수 있는 화면을 만들 수 있지만
개발을 하다보니 스킨을 사용할 때 약간의 크기에 따라서 다른 스킨을 사용할 일이 생기더군요
그래서... 현재 스크린의 크기를 구할 수 있는 방법을 적어 봅니다.

Display display = ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();

int displayWidth = display.getWidth();
int displayHeight = display.getHeight();

이렇게 사용하면 혀재의 화면 크기를 구할 수 있습니다.
Display객체 안에 다른 내용도 많으니 그에 대한 자세한 내용은
http://developer.android.com/reference/android/view/Display.html
이곳에 가면 확인하실 수 있습니다.



ImageButton에 효과 주기
에 대한 제 블로그 글에 어떤 분이 어떻게 하시는지 잘 모르겠다고 하셔서...
그냥 간단하게 예제를 만들어서 올립니다...
머... 그냥 단순합니다...
이거라도 도움이 되었으면 하고 이렇게 따로 하나 적어봅니다. :)

drawable 폴더에 있는 xml파일을 잘 활용하는 것이 중요할 것 같습니다. :)




소리바다 안드로이드 앱 1.0을 오픈했습니다.
그동안 말도많고... 고생도 좀 하고 ㅜㅜ// 어이없는 모토로이 녀석때문에
시간도 쓸대없이 3주 허비하고... ㅎㅎㅎ
회사에서 안드로이드보단 아이폰에 더 관심을 갖고 있고... <- 이건 좀 ... 서운한 감정이 들더군요
그래도 이제 만들어서 내놓았습니다.

 
머.. 베타 테스트 할 때 보다야... 좀 좋아지기도 했고...
앞으로 트위터 연동하는거랑... 뮤직비디오 볼 수 있게 업데이트 해야 겠습니다..
다운로드 서비스 정책 나오면 그것도 만들고 ^^
안드로이드폰 이용하시는 분들... 사용해 보세요 :)


안드로이드의 WebView에서는 웹페이지에서의 경고창 보이는 것에 대해서
코드로 만들어 둬야 하는 단점이 있습니다.
안해둘 수도 없고... 그래도 간단하게 해결되게 되어 있네요.

예제코드

final WebView browser = (WebView)findViewById(/*WebView의 ID*/);
browser.getSettings().setJavaScriptEnabled(true);  //javascript 사용 가능하게 한다
final Context myApp = this;

browser.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)
    {
        new AlertDialog.Builder(myApp)
            .setTitle("AlertDialog")
            .setMessage(message)
            .setPositiveButton(android.R.string.ok,
                    new AlertDialog.OnClickListener()
                    {
                        public void onClick(DialogInterface dialog, int which)
                        {
                            result.confirm();
                        }
                    })
            .setCancelable(false)
            .create()
            .show();

        return true;
    };
});

browser.loadUrl(/*웹 페이지 주소*/);

이런식으로 사용하면 됩니다.




동영상을 보게 되면 아이폰 안에서 안드로이드가 실행중입니다.
아이폰에서 멀티부팅??을 이용하여 리눅스를 설치하고, 안드로이드를 넣어버린...
예전에 아이폰에다가 Win98을 설치한 건 보았었는데 ㅎㅎ 안드로이드를...
보니까... 전화까지 받아지는거 같던데 음... 이런식으로 사용해 보는 사람들이 생겨나겠군요 ㅋㅋ
제가 가지고 iPod에 설치해 보고 싶어지는 ^^
아래 주소는 아이폰 멀티부팅을 도와주는 자료가 있는 곳 입니다.
http://www.theiphonewiki.com/wiki/index.php?title=IBoot




+ Recent posts