2014-02-12 2 views
0

내 Android 소프트웨어에 대화식 도움말이 있으면 어떻게해야합니까? 나는 내가 말한 것을 사용자가 강제로하고 싶다고 말하고, 내가 말하고있는 그 점을 만져야한다.Android 대화식 UI

나는 능력을 보여 주므로 사용자에게 소프트웨어 작업 방법을 도움이되고 싶습니다.

미리 감사드립니다.

+0

이미 코드가 있습니까? – GhostDerfel

+0

@GhostDerfel 불행히도 아니오; 나는 이런 종류의 프로그래밍에 익숙해지기 시작했다. 약간의 도움이 나를 많이 도울 수 있습니다. –

+3

도움말을 표시하기 위해 실제 콘텐츠 상단에 조각을 사용했습니다. 이 단편은 아래 내용 (단편)의 UI에 해당합니다. 또한이 라이브러리 https://github.com/amlcurran/Showcase를 확인하십시오. Android가 사용하는 것과 유사한 점을 확인하십시오. – Michal

답변

0

내가 할 수있는 것은 터치를 "잡는"레이어가있는 RelativeLayout에보기를 설정하고 사용자가 원하는 위치에서만 클릭하도록 강요하는 것입니다. 몇 가지 애니메이션과 코드 리뷰를 추가하면 더 쉽게 얻을 수있는 간단한 예제입니다. 난 그냥 직접 코드를 입력

public class MyActivity extends Activity implements OnTouchListener{ 

    RelativeLayout tutorialLayer; 
    Button button; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     tutorialLayer = (RelativeLayout) findViewById(R.id.tutorial_layer); 
     button = (Button) findViewById(R.id.my_button);//Let's suppose this button exist on your layout 
     tutorialLayer.setOnTouchListener(this); 
     if(needToSeeTutorial()) 
     tutorialLayer.setVisibility(RelativeLayout.VISIBLE); 
    }  

    private boolean needToSeeTutorial(){ 
    //Add your logic here :D 
    return false; 
    } 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     int x = event.getX(); 
     int y = event.getY(); 

     if(x >= button.getX() && x <= (button.getX()+button.getWidth() && y >= button.getY() && y <= (button.getY()+button.getHeight()){ 
     //Do what you need to do here 
     } else { 
     Toast.makeText(this, "Click on the button", Toast.LENGTH_SHORT); 
     } 

    } 

} 

:

<View 
    android:id="@+id/tutorial_layer" 
    style="@style/HomeTheme" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:visibility="gone" > 
</View> 

<include layout="@layout/my_layout" /> 

그런 다음 당신은 당신의 활동에 그런 일을 구현할 수 있습니다

이 루트 레이아웃 될 것입니다 여기, 어쩌면 이것에는 약간 문제가있다, 또한 나는 x와 y를 얻는 논리를 모른다 맞습니다. 그러나 해결책에 대한 아이디어를 얻을 수 있습니다.