- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 android 中使用 swipelistview,我需要在 ListView 中实现 onClick 以刷出列表项。我在 OnclickfrontView 中使用了 openanimate 方法。但是我的输出结果是相反的。我正在从右到左而不是从左到右查看。我使用的库是 https://github.com/47deg/android-swipelistview
。 swipelistview 的 xml 布局是
android:id="@+id/search_screen_listview_sharedData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="0dp"
android:layout_marginTop="0dp"
android:cacheColorHint="#00000000"
android:background="@color/white"
android:divider="@color/sliding_menu_listview_divider"
android:dividerHeight="0.2dp"
android:fadingEdgeLength="0dp"
android:focusable="false"
android:focusableInTouchMode="false"
android:listSelector="@color/transparent"
swipe:swipeFrontView="@+id/front"
swipe:swipeBackView="@+id/back"
swipe:swipeOpenOnLongPress="false"
swipe:swipeActionLeft="reveal"
swipe:swipeActionRight="reveal"
swipe:swipeCloseAllItemsWhenMoveList="true"
swipe:swipeDrawableChecked="@color/sliding_menu_selection_blue"
swipe:swipeDrawableUnchecked="@color/white"
swipe:swipeOffsetLeft="200dp"
swipe:swipeOffsetRight="70dp"
swipe:swipeMode="right" />
供您引用的示例代码是
swipeListView = (SwipeListView) view
.findViewById(R.id.listview_sharedData);
swipeFrontView = (View) view.findViewById(R.id.front);
if (Build.VERSION.SDK_INT >= 11) {
swipeListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
swipeListView
.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
@Override
public void onItemCheckedStateChanged(ActionMode mode,
int position, long id, boolean checked) {
mode.setTitle("Selected ("
+ swipeListView.getCountSelected() + ")");
}
@Override
public void onDestroyActionMode(ActionMode mode) {
swipeListView.unselectedChoiceStates();
}
@Override
public boolean onActionItemClicked(ActionMode mode,
android.view.MenuItem item) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onCreateActionMode(ActionMode mode,
android.view.Menu menu) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onPrepareActionMode(ActionMode mode,
android.view.Menu menu) {
// TODO Auto-generated method stub
return false;
}
});
}
swipeListView.setSwipeListViewListener(new BaseSwipeListViewListener() {
@Override
public void onOpened(int position, boolean toRight) {
}
@Override
public void onClosed(int position, boolean fromRight) {
}
@Override
public void onListChanged() {
}
@Override
public void onMove(int position, float x) {
}
@Override
public void onStartOpen(int position, int action, boolean right) {
Log.d("swipe", String.format("onStartOpen %d - action %d",
position, action));
}
@Override
public void onStartClose(int position, boolean right) {
Log.d("swipe", String.format("onStartClose %d", position));
}
@Override
public void onClickFrontView(int position) {
Log.d("swipe", String.format("onClickFrontView %d", position));
swipeListView.openAnimate(position);
}
@Override
public void onClickBackView(int position) {
Log.d("swipe", String.format("onClickBackView %d", position));
//swipeListView.closeAnimate(position);
}
@Override
public void onDismiss(int[] reverseSortedPositions) {
/*
* for (int position : reverseSortedPositions) {
* data.remove(position); } adapter.notifyDataSetChanged();
*/
}
});
if (Constant.List != null) {
if (Constant.List.size() > 0) {
swipeListView.setAdapter(new CustomContentListAdapter(
getActivity(), Constant.List, true));
}
}
return view;
}
请帮助我如何在单击 ListView 项时实现从左到右的滑动 View 。我为此苦苦挣扎了一个星期,但仍然没有找到好的解决方案。
public void openAnimate(int position) {
touchListener.openAnimate(position);
}
protected void openAnimate(int position) {
openAnimate(
swipeListView.getChildAt(
position - swipeListView.getFirstVisiblePosition())
.findViewById(swipeFrontView), position);
}
private void openAnimate(View view, int position) {
if (!opened.get(position)) {
generateRevealAnimate(view, true, false, position);
}
}
private void generateRevealAnimate(final View view, final boolean swap,
final boolean swapRight, final int position) {
int moveTo = 0;
if (opened.get(position)) {
if (!swap) {
moveTo = openedRight.get(position) ? (int) (viewWidth - rightOffset)
: (int) (-viewWidth + leftOffset);
}
} else {
if (swap) {
moveTo = swapRight ? (int) (viewWidth - rightOffset)
: (int) (-viewWidth + leftOffset);
}
}
animate(view).translationX(moveTo).setDuration(animationTime)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
swipeListView.resetScrolling();
if (swap) {
boolean aux = !opened.get(position);
opened.set(position, aux);
if (aux) {
swipeListView.onOpened(position, swapRight);
openedRight.set(position, swapRight);
} else {
swipeListView.onClosed(position,
openedRight.get(position));
}
}
resetCell();
}
});
}
private void resetCell() {
if (downPosition != ListView.INVALID_POSITION) {
if (swipeCurrentAction == SwipeListView.SWIPE_ACTION_CHOICE) {
backView.setVisibility(View.VISIBLE);
}
frontView.setClickable(opened.get(downPosition));
frontView.setLongClickable(opened.get(downPosition));
frontView = null;
backView = null;
downPosition = ListView.INVALID_POSITION;
}
}
最佳答案
编辑你下载的库的源代码中的openAnimate()
方法,让它向另一个方向移动(假设包含源代码)
下面是确定将 View 移动到何处的代码
int moveTo = 0;
if (opened.get(position)) {
if (!swap) {
moveTo = openedRight.get(position) ? (int) (viewWidth - rightOffset)
: (int) (-viewWidth + leftOffset);
}
} else {
if (swap) {
moveTo = swapRight ? (int) (viewWidth - rightOffset)
: (int) (-viewWidth + leftOffset);
}
}
因为我没有完整的代码,所以我不知道 viewWidth
或 rightOffset
和 leftOffset
被定义为什么。我建议你尝试这样的事情:
: (int) (-viewWidth + leftOffset);
到
: (int) (viewWidth - leftOffset);
对这两种情况都这样做。我不能保证它会起作用,但如果不起作用,请尝试使用这些值。
关于android - SwipeListview openanimate(postion)方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21613119/
我在 android 中使用 swipelistview,我需要在 ListView 中实现 onClick 以刷出列表项。我在 OnclickfrontView 中使用了 openanimate 方
下面的代码将解析找到的数据库记录的值 2,有没有办法解析 2 之后的所有内容? IE:2-4 或 2-*(基本上是剩下的 2 等等) 值 1 正在用于另一列。 LEFT JOIN ps_image p
我正在开发一个应用程序,用于记录每个用户介绍的答案。为此,我有一个Array,其中取决于每个用户的回答。 我想要做的是获取这些答案并在另一个类中使用它们,例如,以便在 XML 中序列化这些答案。 我想
我正在尝试创建一个屏蔽页面的加载图像(当调用时)。 我正在使用 handlebars、html、css 和 javascript。 我有一个看起来像这样的 .hbs 页面: 其中填充了一些 ja
我正在使用优秀的 raphaeljs 库,并在创建路径后 var c = paper.path("M10 10L90 90 ..... z"); 我想获取点击事件在相对于 Canvas 的路径上的位置
我只是想在 MapView 中显示固定位置的图标。如果它是固定的,Overlay 会起作用,但是当用户移动 map 时它会移动。但我需要修复此图标。 最佳答案 您可以像这样将 MapView 和 Im
我在我的 Angular 4 应用程序中使用 ngx-bioostrap。 我正在使用 ngx-bootstrap Tooltip 小部件: 导入后,我在组件 View 中像这样使用它: Sim
我正在从 youtube 的播放列表中学习 css3 动画,我制作了一个来自顶部的盒子并制作了 swing我的问题是,当摆动不是从第一个动画离开的地方开始时,代码如下: HTML:
以下示例显示了一个 div 内的一个 div。内部div是 position: fixed; 当我添加 transform: translate(0px, 0px); 对于外层的div,内层的div将
我正在尝试构建我自己的自定义下拉菜单,它应该像正常的一样记住它的垂直位置 标签。下拉菜单已经可以正常工作了,我只是想改进这个小东西。 这是我的 html 结构:
我有一个 StackPannel 的 ScrollViewer。用户希望保存 ScrollViewer 的位置,这样当应用程序重新加载他们的数据时,StackPannel 将显示他们之前查看的项目。它
我已经用“position: absolute;”试过了& "职务: 亲戚;"但它仍然不起作用。感谢您的帮助! html: CSS: .banner_img img { width: 100p
好吧,所以这很难解释,所以如果我不清楚,请提问 在我的 html 页面中,我有一个主“容器”div,其中有多个 div,但容器内的每个 div 都被放置在两列之一中(因此,如果容器中有一个 div,它
所以我在 react native 中设置背景图像,但我需要将背景图像的位置设置为底部。所以如果有人知道如何实现这一点。 我曾尝试添加 backgroundPosition 但它似乎不受支持 L
我是一名优秀的程序员,十分优秀!