要实现ListView行向左移动,可以使用动画和属性动画来实现。以下是一个示例代码:
public class MyAdapter extends ArrayAdapter {
private Context context;
public MyAdapter(Context context, List objects) {
super(context, 0, objects);
this.context = context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.list_item, parent, false);
}
TextView textView = convertView.findViewById(R.id.textView);
textView.setText(getItem(position));
// 设置动画
Animation animation = AnimationUtils.loadAnimation(context, R.anim.slide_left);
convertView.startAnimation(animation);
return convertView;
}
}
public class MainActivity extends AppCompatActivity {
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
List data = new ArrayList<>();
data.add("Item 1");
data.add("Item 2");
data.add("Item 3");
// ...
MyAdapter adapter = new MyAdapter(this, data);
listView.setAdapter(adapter);
}
}
通过以上步骤,ListView的每一行在显示时都会有向左移动的动画效果。