我正在尝试使用 ObjectAnimator
将 RelativeLayout
移动到 Fragment
内的左侧。
方法setDuration
根本不会改变持续时间。
我不是在寻找setStartDelay()
方法
位置正在即时更改:
RelativeLayout layoutConfig2 = (RelativeLayout) rootView1.findViewById(R.id.layoutListConfig2);
ObjectAnimator pullLeft = ObjectAnimator.ofFloat(layoutConfig2, "translationX", 0f, -600f);
pullLeft.setDuration(4000); // ?
pullLeft.start();
这是我完整的onCreateView
:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView1 = inflater.inflate(R.layout.params_config, container, false);
ListView listConfiguracoes = (ListView) rootView1.findViewById(R.id.list1_configParameters);
ListView listMotor = (ListView) rootView1.findViewById(R.id.list_motor1);
final RelativeLayout layoutConfig1 = (RelativeLayout) rootView1.findViewById(R.id.layoutListConfig);
final RelativeLayout layoutConfig2 = (RelativeLayout) rootView1.findViewById(R.id.layoutListConfig2);
menutitles = getResources().getStringArray(R.array.array1_config);
menuIcons = getResources().obtainTypedArray(R.array.arrow_icons);
rowItems = new ArrayList<RowItem>();
for (int i = 0; i < menutitles.length; i++) {
RowItem items = new RowItem(menutitles[i], menuIcons.getResourceId(
i, -1));
rowItems.add(items);
}
adapter = new CustomAdapter(getActivity(), rowItems, 2);
listConfiguracoes.setAdapter(adapter);
listMotor.setAdapter(adapter);
layoutConfig2.setVisibility(View.VISIBLE);
listConfiguracoes.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Animation slide1, slide2;
slide1 = AnimationUtils.loadAnimation(getActivity(), R.anim.move_left_slightly);
slide2 = AnimationUtils.loadAnimation(getActivity(), R.anim.move_left_fast);
switch (position) {
case 0:
layoutConfig1.startAnimation(slide1);
ObjectAnimator pullLeft = ObjectAnimator.ofFloat(layoutConfig2, "translationX", 0f, -600f);
pullLeft.setDuration(4000); // ?
pullLeft.start();
break;
}
}
});
return rootView1;
}
如何修复它?
最佳答案
我知道这有点晚了,但万一有人遇到这个线程: 尝试开发者选项下的“动画师持续时间比例”。当我的被禁用时,我遇到了这个问题。
关于android - 为什么 ObjectAnimator setDuration 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30779741/