2012-06-07 2 views
0

저는 안드로이드 용 앱 개발과 관련하여 매우 새로 왔습니다. 이제 네 개의 버튼을 구현하고 사용자가 클릭하자마자 최상위 버튼에서 다른 두 개의 하위 버튼이 클릭 된 버튼 아래에 나타나고 다른 세 개의 나머지 버튼이 자동으로 아래쪽으로 이동한다고 가정 해 봅시다.안드로이드 - 콘텐츠를 아래쪽으로 이동

내 설명이 100 % 명확하지 않으므로 일부 이미지의 문제점을 설명하려고합니다.

http://advancedata.ad.funpic.de/First-AGApp.png


그리고 즉시 사용자가 버튼 하나를 밀어으로, 두 개의 추가 버튼이 표시되어야하고, 다른 세 개의 버튼이 아래로 이동해야합니다 :

지금 여기에 네 개의 버튼입니다

http://advancedata.ad.funpic.de/Second-AgApp.png
저는 이것을 구현하는 방법에 대해 조언 해 주시면 고맙겠습니다.

감사합니다, ENNE

답변

1

은 수직 방향과의 LinearLayout에 모든 버튼을 그립니다. 속성을 추가하십시오 메인 버튼을 클릭 할 때 나타나는 버튼에

android:visibility="gone" 

을 추가하십시오. 그런 다음 라인의 주요 버튼의 OnClickListener를에 그 버튼을 표시 할 수 있습니다 : 버튼 코드의 레이아웃에 대한 참조입니다

button.setVisibility(View.VISIBLE); 

합니다.

Button button = (Button) findViewById (R.id.your_button_id); 

편집 :

프로세스에 애니메이션을 추가하려면, 당신은 나타나는 새로운 버튼과 아래 버튼을 위/아래로 슬라이드해야합니다. 뷰를 레이아웃에 그룹화하여 애니메이션을 적용하는 것이 더 쉽습니다.

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromYDelta="-50" android:toYDelta="0" 
android:duration="300" /> 

slide_up.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromYDelta="0" android:toYDelta="-50" 
android:duration="300" /> 

코드에서 애니메이션을 만들기

slide_down.xml : 여기

당신은 당신의 입술/ANIM 폴더에 만들 수있는 두 개의 XML 파일이 다음을 포함합니다 :

Animation slideDown = AnimationUtils.loadAnimation(this, R.anim.slide_down); 

과 함께 버튼에 적용 : 최대 슬라이딩 할 때

secondaryButton.startAnimation(slideDown); 

, 당신은 가시성 애니메이션이되지 전에 끝난 후에 "사라"를 설정해야합니다. 이를 수행하려면 애니메이션 리스너를 설정하고 onAnimationEnd의 버튼을 숨겨야합니다.

slideUp.setAnimationListener(new AnimationListener() { 

    @Override 
    public void onAnimationEnd(Animation animation) { 
     secondaryButton.setVisibility(View.GONE); 
    } 

    @Override 
    public void onAnimationRepeat(Animation animation) {} 

    @Override 
    public void onAnimationStart(Animation animation) {} 

}); 
+1

좋습니다, 감사합니다. 미구엘. 한 가지 마지막 질문 : 숨겨진 버튼이 갑자기 튀어 나오지 않고 아래로 내려가는 것을 구현하는 것이 어려울까요? 이 버튼과 같은 의미입니다. http : // www.webdesignerwall.com/demo/jquery/simple-slide-panel.html – enne87

+1

애니메이션 코드를 추가했습니다. 나는 그것이 도움이되기를 바랍니다. –

+0

아주 좋은, 당신의 위대한 도움 miguel 주셔서 감사합니다 :) – enne87

관련 문제