게임중 보여준 웹브라우져에서 Keyboard가 보이지 않을 경우가 있습니다.

2013. 3. 25. 10:33프로그래밍/Android

728x90
반응형

Cocoss2d-x를 이용해서 게임을 개발중에 랭킹등의 정보를 보여주기 위해서 웹브라우져를 뛰어주곤합니다. 

모든 정보를 Java UI를 이용해서 코딩을 하면 좋겠지만 때로는 이또한 어려울때가 있습니다. 하지만 최소한의 작업으로 그나마 웹브라우져를 뛰어주기 위해서는 전체장보다는 popup으로 뛰어주는것이 좋습니다. 상단에 Header와 하단에 footer도 추가해서 나름 보기좋게 구성할 수 있다는 장점이 있습니다. 마치 게임의 일부인것처럼 보이게 할수 있습니다.


하지만 저사양폰(정확하지는 않지만 2.x대의 안드로이드 OS)에서는 가상 키보드가 보이지 않습니다. 딱히 큰문제는 아닐수 있지만 페이스북이나 트위터 로그인화면에서 정상적으로 입력이 불가능합니다. (다른 방법을 이용해서 가상의 키보다가 보이게 할수도 있겠지만....^^) 따라서 치명적인 문제를 야기시킬 수 있습니다.


개인적으로 복잡하게 또는 보기 좋으라고 뛰어주던 popup브라우져 보다는 full브라우져를 이용하는게 좋지 않나 싶습니다.

다음 2가지 방법을 이용해서 게임중 웹을 뛰우는 방법입니다. 유용하게 사용할 수 있을 듯 합니다.


1. Full Browser를 뛰어줄경우 다음과 같이 추가해주시면 됩니다.

moreGamesButton =(ImageView) findViewById(R.id.MoreGames_Button);    

moreGamesButton.setOnClickListener(new View.OnClickListener() {

   @Override

   public void onClick(View v) 

   {

Uri uri = Uri.parse("http://www.appsmoa.com/moregames/android.jsp?appid="); 

Intent intent = new Intent(Intent.ACTION_VIEW, uri); 

NinjaAndZombies.this.startActivity(intent);

            }

});



2. Popup Browser를 이용해서 정보를 보여줄 경우는 다음과 같이 해주시면 됩니다.(XML파일에도 추가해주실게 있습니다.)

moreGamesButton =(ImageView) findViewById(R.id.MoreGames_Button);    

moreGamesButton.setOnClickListener(new View.OnClickListener() {

   @Override

   public void onClick(View v) 

   {

    NPAN_MOREGAMESWEB.setVisibility(LinearLayout.VISIBLE);;

    webFaceBookView.loadUrl("http://www.appsmoa.com/moregames/android.jsp?appid=xx");

    webFaceBookView.setWebViewClient(new WebViewClient(){  

           @Override

           public boolean shouldOverrideUrlLoading(WebView view, String url) 

           {

            // TODO Auto-generated method stub

            view.loadUrl(url); //다른 url링크를 클릭했을때 url을 다시 로드

            return true;

           }

    });    

   }

});


2-1. main.xml파일에 다음을 추가해주셔야 합니다.(원하는 LinearLayout를 구성하다음에 WebView를 추가해서 사용하시면 됩니다.)

<WebView

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

   android:layout_width="match_parent"

   android:layout_height="wrap_content"   

   android:layout_weight="1"

   android:id="@+id/MoreGames_Button">

</WebView>


급할때는 이렇게 간단한 내용도 귀찬게 느껴지고 부담스러울 때가 있습니다.

매일매일 고생하시는 수많은 개발자분들에게 조금이라도 삽질이 아닌 창의적인일을 할수 있는 그날을 위해서 작은 정보라도 공유하고자 합니다. 한국에서도 업으로 60대가 되어도 소설쓰듯이 코딩을 할수 있었으면 합니다.

좋은하루되세요.

감사합니다.(아 그리고 수많은 해결방법들이 있으니 꼭 이게 정답이라고 보시면 안됩니다...)





728x90
반응형