Mar*_*ele 5 android android-listview
我有一个包含一组TextView的简单ListView.
我总是希望页面顶部的TextView顶部.
我可以使用onScrollStateChanged并在SCROLL_STATE_IDLE中稍微调整一下位置.(类似于List view snap to item)
但这是一个后验校正,它不能很顺利地工作.
是否有可能先控制一个投掷的终点位置?
因此,我想在启动投掷后立即修改投掷的结束位置.
这可能吗?
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
public class Test extends Activity
{
private final static int N = 20;//number of HorizontalScrollView
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
//add a ListView
ListView list = new ListView(this);
layout.addView(list);
list.setAdapter(new BaseAdapter()
{
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
TextView t = new TextView(Test.this);
t.setText("line "+position);
t.setMinimumHeight(120);
return t;
}
@Override
public long getItemId(int position)
{
return 0;
}
@Override
public Object getItem(int position)
{
return null;
}
@Override
public int getCount()
{
return N;
}
});
setContentView(layout);
}
}
Run Code Online (Sandbox Code Playgroud)
投掷遵循基本物理定律:设 s(距离)、v(速度)、t(时间)和 a(加速度或减速度)。
对于给定的初始速度(从 s_0=0 开始),我们有
v(t) = a*t + v_0 (1)
s(t) = a*t^2+v*t (2)
Run Code Online (Sandbox Code Playgroud)
a 是一个系统常量(不知道是哪个 API)。因此,对于给定的初始速度 v_0,您可以计算
通过反转计算,您可以计算以位置 's' 结束所需的初始速度
| 归档时间: |
|
| 查看次数: |
372 次 |
| 最近记录: |