我是android的新手并尝试在原生android中创建一个应用程序。
我有一个顶部条,它是整个屏幕的10%高度和全宽。最初我想在应用程序启动时显示栏。当用户向下拖动应用程序时,需要将“顶栏”设置为-10%,以便用户无法查看。此外,当用户向上拖动屏幕时,需要将“顶栏”设置为0,即屏幕的开头(正常位置)。
所以我有这样的布局
<relativelayout>
<linearLayout>
// Top bar content here
<linearLayout>
<linearLayout>
// With list items, etc
</linearLayout>
</relativelayout>
我被困在动画部分。如何获取事件并进行动画制作。
请给我一个提示。
提前致谢
答案 0 :(得分:0)
您可以创建一个onTouch()方法,其中View是整个屏幕。根据触摸动作指定顶栏要执行的操作。以下是一些代码:
public boolean onTouch(View v, MotionEvent evt) {
switch(evt.getAction()){
case MotionEvent.ACTION_DOWN:
// your code that makes it disappear
return true;
case MotionEvent.ACTION_UP:
// your code that makes it reappear
return true;
}
return false;
}
在xml中,将ids添加到布局中。
<LinearLayout
android:id="my_layout"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TextView
android:id="topbar"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1">
<ListView
android:id="list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="9">
</LinearLayout>
您可以在onTouch()方法中调用ID,将布局权重或顶部条的百分比从1更改为0,反之亦然。
查看the first answer中的算法,以确定触摸事件是向上还是向下滚动。