안드로이드 페이스북 간편하게 Intent 로 공유하는 방법입니다.

페이스북 API 를 사용 할 수도있지만 
인터넷 주소를 공유 한다고하면 API 까지 사용하지 않아도 
Intent 로 사용하는 것도 좋은것 같습니다.

if ( isPackageInstalled("com.facebook.katana") ){

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);

shareIntent.setType("text/plain");

shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "나눔Tv"); shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "http://www.ajunews.com/view/20140609101252520");

shareIntent.setClassName("com.facebook.katana", "com.facebook.katana.activity.composer.ImplicitShareIntentHandler");

startActivity(shareIntent);

} else {

Toast.makeText(getActivity(), "페이스북 앱 설치 후 이용해주세요.", Toast.LENGTH_SHORT).show(); // }


만화&이슈 앱을 이용해주셔서 감사 합니다 ^-^ ( 많이 많이 앱 추천 해주세요 *카카오톡 앱 추천 이용 해주세요)


사용설명서 늦어진점  죄송합니다 

일단 앱에 대한 의견 및 오류 문의는 이글에 댓글로 남겨주시면

빠른 답변 드리겠습니다 ~~ ^^ 


공지사항

이슈영상은 매일 매일 업데이트 됩니다.

추억의 만화 와 영어만화 < 4월11일~13일 만화 추가 예정 > 요청 만화 있으시면 댓글로 남겨주세요 

<유아만화 업데이트 목록>

꼬마 버스 타요 시즌1 , 코코몽 , 로보카폴리 , 선물공룡 디보 , 디보와 노래해요 , 레고 시티

달려라 카카 , 어리 이야기 , 아랑탕탕 아이쿠 , 따개비루 , 안아줘요 무무 업데이트 



만화&이슈 앱 : 나만의 리스트 만들기 ( 유튜브 리스트 만들기 )


step1 

 http://www.youtube.com/ 사이트 접속 후 로그인 

로그인을 한 후 왼쪽 상단 YouTube 오른쪽에 있는 메뉴 버튼을 클릭한 후

아래로 메뉴중 내 채널을 클릭합니다.

메뉴 오른쪽 홈 동영상 재생목록 채널 토론 정보 메뉴중 재생목록을 클릭 합니다.



재생목록 클릭 후 아래 이미지와 같은 화면이 나옵니다.

새 재생목록을 클릭합니다. 

버튼 아래로 입력창이 뜨면 재생목록의 제목을 입력 한 후 만들기 클릭 해주시면 완료!!



재생목록 제목을 입력하고 만들기 클릭 하시면 화면이 이동되고 주소창을 보시면 

아래와 같은 형식의 주소가 나와있는데 빨간색으로 표시된 부분이 자신이 방금 만든 

재생 목록의 리스트 아이디 입니다. 

ex ) list=이디

http://www.youtube.com/playlist?list=PL4LfAB6a8eNRZbtTRqJURAuuuavoYE-0o&action_edit=1



꼭 자신의 리스트를 생성 해야 되는것은 아닙니다.

유투브에 맘에드는 혹은 자주 보고싶은 공부하고 싶은 상대방 아이디에 들어가

위와 같은 방법으로 재생목록 메뉴로 들어가 상단 주소창에 list 아이디를 가저 오시면 바로 폰에서 

동영상을 보실 수 있습니다.


step2 :

위에서 생성한 아이디 ( 혹은 상대방 list 아이디 ) 를 앱에 등록 하는 방법 입니다.

앱 접속 > 오른쪽 위 메뉴버튼 클릭 > 나만의 영상목록 만들기 클릭 > 화면 이동 후 오른쪽 위 메뉴 클릭 ( 아래이미지 참고)

> 메뉴중 리스트 만들기 클릭 > ( 두번째 이미지 참고 ) 팝업 창이 뜨면 위에서 찾은 list=아이디

아이디를 입력 > 저장 클릭 완료



프랑켄슈타인을 보고 왔어요 ㅎㅎ

삼성카드 셀렉트 20  프랑켄슈타인을 보고 간단한 후기 올려 봅니다 

저번에 엄청난 기대를하며 프랑켄슈타인 뮤지컬에 관하여 포스팅을 하고 어제 보고왔습니다 ^^


아래 사진과 동영상 은 마지막에 찍은거 올려봤습니다 ㅎ


일단 6시30분 시작인데 시작하기 2분전? 도착해서 급하게 

표를 바꾸고 책자를 받고 안내받아서 착석 했습니다 ㅎㅎㅎ



무대는 맘마미아 보다 아주 거창했습니다 ㅎㅎ 

거창한 만큼 뮤지컬 진행 되면서도 아주 많이 바뀌더군요 

스피커 와 무대는 아주 맘에 들었어요 ^^ 

영상도 아주 멋지게 잘 만들어서 뮤지컬과 잘 어울리게 연출 모두 맘에 들었다는 

아래 보시면 무대사진이 ㅎㅎ  

무대의 화려함은 기대 하고 가셔도 좋을듯 합니다.



프랑켄슈타인 역을 유준상이 하는걸 보고 왔는데요 

스토리와 모두 어디서 가저와서 한것도 아니고 직접 스토리 쓰고 연출까지 

한거라고 하더군요  하지만 그래서 그런지 약간 스토리는 아쉬 웠어요

맘마미아 보고 너무 기대 한건지  모르지만 연기도 약간은 아쉽더라구요 



그리구 2부에서 1인 2역이라 역할이 다 바뀌는데요 

약간 그냥 1인 1역하는게 좋았겠다 다른 생각과

2부에서 혼자 노래하는 부분이 많은데 다소 한 장면이

너무 길어서 지루 한 감도 있습니다.



엄청 재미있다 라고 추천은 못하지만 뮤지컬이 보고싶다면 보셔도 좋을듯 합니다.

엄청 기대하고 가시고 가면 저처럼 좀 졸아요...ㅡㅜ

그래도 재미있게 봤어요 ㅎㅎ

간단히 정리하자면 내용은 프랑켄슈타인이 괴물을 만들어 괴물의 복수로 끝나는 

이런 내용인데 좀 일찍 가셔서 내용을 좀 보고 보시면 더 좋겠다는 



마무리 주인공들 나와서 인사를 하며

유준상이 마지막으로 한마디하는 영상까지 아래 보세요 ^^






안드로이드 이번 킷캣 (kitkat ) 업데이트 되면서 ios 처럼 상태바가 변경 되었는데요

키캣으로 업데이트 되면서 안드로이드 상태바도  ios 상단바 처럼 투명처리와 함께 

앱과 하나 되어지기게 수정 할 수 있게 되었습니다.


현재 적용되어 있는앱은 카카오 스토리인것 같은데요

킷캣으로 업데이트 이후 카카오스토리를 실행 해보시면 아~ 하길서에요 ^^

아래 이미지는 킷캣전 상단바 앱을 실행하면 보여지는 검정 바탕입니다.



그럼 아래 소스를 안드로이드 프로젝트를 만들고  

메니페스트에 Notitle 설정 후 메인에 아래 소스를 입력 해주세요 

그런 후 실행 해 보시면 ㅎㅎ 

앱이 상태바와 하나가 되어 이뻐진 모습을 볼 수가 있습니다. ^^


int id = getResources().getIdentifier("config_enableTranslucentDecor", "bool", "android");

  if (id != 0 && getResources().getBoolean(id)) { // Translucent available

    Window w = getWindow(); w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); w.setBackgroundDrawableResource(R.drawable.a_00_navi);

}


아래는 적용 후 폰 상태입니다.  

그럼 모두들 즐거운 개발 하세요 ^^ 


안드로이드 레이아웃 사이즈를 구하고 동적으로 가로 세로 사이즈를 변경 할때 

고생 하시는분들을 위한 레이아웃 (layout) 사이즈 구하는 방벙을 모아 봤습니다.


아래 소스는 layout 의 가로 세로 사이즈를 구하고 layout 의 가로 세로 사이즈를 수정 하는 방법 입니다.

추가로 layout 사이즈를 구하는 소를 응용하여 가로 세로 사이즈를 비율로 동적으로 수정하는 방법으로 

올렸습니다.


아래 소스에 좋은 의견이나 문제가 있는 부분은 댓글로 달아 주시면 감사하겠습니다.


레이아웃 onWindowFocusChanged(boolean hasFocus) 를 이용한 사이즈 구하기 방법입니다.

@Override

public void onWindowFocusChanged(boolean hasFocus) {

View layoutMainView = (View)this.findViewById(R.id.mainLayout);

Log.w("Layout Width - ", String.valueOf(layoutMaintView.getWidht()));

Log.w("Layout Height - ", String.valueOf(layoutMaintView.getHeight()));

}


레이아웃 post trhead를 이용한 레이아웃 사이즈를 구하는 방법 

( 참고: 레이아웃이 생성된 후 사이즈를 구하기 때문에 사이즈를 구한 후 사이즈를 이용하여 다른 작업 하기에는 시간차가 있습니다. )

final LinearLayout layout = (LinearLayout)view.findViewById(R.id.capaign_row_img_lay); layout .post(new Runnable() {

@Override public void run() {

Log.e(" size ", "Width size= " + layout .getWidth());

Log.e(" size ", "Height size= " + layout .getHeight()); } });


레이아웃 OnGlobalLaoutListener 이용한 방법 ( 사이즈를 구하고 동적으로 사이즈 수정하는데 가장 효과적인듯 합니다. )

final LinearLayout layout = (LinearLayout)view.findViewById(R.id.capaign_row_img_lay); ViewTreeObserver vto = imglay.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override

public void onGlobalLayout() {

layout .getViewTreeObserver().removeGlobalOnLayoutListener(this);

int width = layout .getMeasuredWidth();

int Height = imglay.getMeasuredHeight(); } });


위에방법을 응용한 사이즈 구한 후 비율로 세로 사이즈를 변경 하는 소스 입니다. 

( 이미지를 일정 비율로 작업하고 비율로 여러 해상도에 보여주기 위한 방법  참고: 제가 만든 예제 임으로 머라구 하지마세요 ^^)


final LinearLayout layout = (LinearLayout)view.findViewById(R.id.capaign_row_img_lay);

 final LayoutParams mLayoutParam = (LayoutParams)layout.getLayoutParams();     mLayoutParam.height   = ScreenSize(위에 설명 드린 소스를 사용하여 사이즈를 구하여 가로 사이즈를 입력); layout.setLayoutParams(mLayoutParam); layout.setGravity(Gravity.CENTER);

/**

* @return 4:2 사이즈 비율 세로사이즈 리턴

*/

public int ScreenSize(int width){

  int size = 0;

//아래주석을 풀면 해상도 사이즈를 구해서 세로 사이즈를 구합니다.

//DisplayMetrics mDisplay = new DisplayMetrics(); //mContext.getWindowManager().getDefaultDisplay().getMetrics(mDisplay);

// size = mDisplay.widthPixels

  size = width;

  size = size / 4;

  size = size * 2;

  return size;

}

뷰페이저 ( viewpager ) 를 WRAP_CONTENT 로 설정을 해도 match_parent 적용 되는 문제 해결


viewpager 아래에 layout을 둬야 하는데 무조건 match_parent 적용되는 viewpager 때문에 

고생하시는 분들이라면 참고하세요 ^^



Custom viewpagr 만들어 사용하는 방법

 
public class HeightWrappingViewPager extends ViewPager {
   public HeightWrappingViewPager(Context context) {
        super(context);
    }

    public HeightWrappingViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);

        boolean wrapHeight = MeasureSpec.getMode(heightMeasureSpec) 
                == MeasureSpec.AT_MOST;

        if(wrapHeight) {
            /**
             * The first super.onMeasure call made the pager take up all the 
             * available height. Since we really wanted to wrap it, we need 
             * to remeasure it. Luckily, after that call the first child is 
             * now available. So, we take the height from it. 
             */

            int width = getMeasuredWidth(), height = getMeasuredHeight();

            // Use the previously measured width but simplify the calculations
            widthMeasureSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY);

            /* If the pager actually has any children, take the first child's 
             * height and call that our own */ 
            if(getChildCount() > 0) {
                View firstChild = getChildAt(0);

                /* The child was previously measured with exactly the full height.
                 * Allow it to wrap this time around. */
                firstChild.measure(widthMeasureSpec, 
                        MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST));

                height = firstChild.getMeasuredHeight();
            }

            heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);

            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        }
    }
}

viewpagr onPageChangeListener 사용하는 방법

@Override
public Object instantiateItem(ViewGroup collection, int page) {
    LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = (View) inflater.inflate(R.layout.page_item , null);
    view.setTag(page);
private ViewPager pager;
@Override
protected void onCreate(Bundle savedInstanceState) {
    pager = findViewById(R.id.viewpager);
    pager.setOnPageChangeListener(new SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            resizePager(position);
        }
    });

    public void resizePager(int position) {
        View view = pager.findViewWithTag(position);
        if (view == null) 
            return;
        view.measure(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        int width = view.getMeasuredWidth();
        int height = view.getMeasuredHeight();
            //The layout params must match the parent of the ViewPager 
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width height); 
        pager.setLayoutParams(params);
    }
}

주말동안 너무 집에만 있어서 답답하기도 하고 미세먼지도 지나가고

날시도 맑고 따뜻해저서 산첵겸 집근처 할리스커피숍을 다녀 왔어요 


커피한잔이 먹고 싶어 마트 가던길에 들렸습니다. 

집근처 여러 커피숍이 있지만 스타벅스도 있구요 

하지만 커피랑 디저트가 맛있는 할리스커피를 찾았습니다. ^^



바닐라 딜라이트 한잔과 치즈퐁듀 바게트볼을 주문했습니다. 

주문한 커피와 빵이 나왔는데  치즈가 굿 ㅎㅎ

쭈~~~욱 늘어나는 치즈  



치즈퐁듀 바게트볼 꿀도 들어있구 너무 맛있었어요 ^^

가끔 가서 먹으면 좋을듯 해요 

커피도 바닐라 딜라이트도 맛있게 먹었구~

장보러 이마트 고고싱 ㅎㅎㅎ 


할리스 가보시면 한번 드셔보세요 


+ Recent posts