如何在Android中滑动ListView行?

如何在Android中滑动ListView行?,android,listview,swipe,Android,Listview,Swipe,我是安卓系统的新手。我使用simpledapter生成了一个列表视图。ListView在一行中显示3个文本视图。我想再添加一个textview并将其隐藏,直到用户滑动Listview行,即当用户滑动所有4个textview时,它应该可见。谁能建议我怎么做。任何链接或教程都会很有帮助 所以您需要的是一个固定高度的列表视图。应用layout\u weight属性控制ListView和其他对象的高度。我猜ListView下面还有其他对象,否则您可能不希望它具有固定的高度。请查看和,这两个都来自开发人员

我是安卓系统的新手。我使用
simpledapter
生成了一个列表视图。ListView在一行中显示3个文本视图。我想再添加一个textview并将其隐藏,直到用户滑动Listview行,即当用户滑动所有4个textview时,它应该可见。谁能建议我怎么做。任何链接或教程都会很有帮助

所以您需要的是一个固定高度的列表视图。应用
layout\u weight
属性控制ListView和其他对象的高度。我猜ListView下面还有其他对象,否则您可能不希望它具有固定的高度。

请查看和,这两个都来自开发人员文档

1:您必须创建自己的自定义列表视图

第二:用这个

    navigaList.setOnTouchListener(swipeDetector);
navigaList.setOnItemClickListener(listener);

OnItemClickListener listener = new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                            long arg3) {
        if(swipeDetector.swipeDetected()) {
            if(swipeDetector.getAction() == Action.RL) {

            } else {

            }
        }        
    };
navigaList.setOnTouchListener(SwipedTector);
纳维亚主义者。塞托尼麦克利克斯滕(listener);
OnItemClickListener=新建OnItemClickListener(){
@凌驾
公共单击(适配器视图arg0,视图arg1,内部位置,
长arg3){
if(swipedtector.swipedtected()){
if(swipedtector.getAction()==Action.RL){
}否则{
}
}        
};
然后您必须使用这个类来检测刷卡

public class SwipeDetector implements View.OnTouchListener {

public static enum Action {
    LR, // Left to Right
    RL, // Right to Left
    TB, // Top to bottom
    BT, // Bottom to Top
    None // when no action was detected
}

private static final String logTag = "SwipeDetector";
private static final int MIN_DISTANCE = 100;
private float downX, downY, upX, upY;
private Action mSwipeDetected = Action.None;

public boolean swipeDetected() {
    return mSwipeDetected != Action.None;
}

public Action getAction() {
    return mSwipeDetected;
}

public boolean onTouch(View v, MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN: {
        downX = event.getX();
        downY = event.getY();
        mSwipeDetected = Action.None;
        return false; // allow other events like Click to be processed
    }
    case MotionEvent.ACTION_MOVE: {
        upX = event.getX();
        upY = event.getY();

        float deltaX = downX - upX;
        float deltaY = downY - upY;

        // horizontal swipe detection
        if (Math.abs(deltaX) > MIN_DISTANCE) {
            // left or right
            if (deltaX < 0) {
                Logger.show(Log.INFO,logTag, "Swipe Left to Right");
                mSwipeDetected = Action.LR;
                return true;
            }
            if (deltaX > 0) {
                Logger.show(Log.INFO,logTag, "Swipe Right to Left");
                mSwipeDetected = Action.RL;
                return true;
            }
        } else 

            // vertical swipe detection
            if (Math.abs(deltaY) > MIN_DISTANCE) {
                // top or down
                if (deltaY < 0) {
                    Logger.show(Log.INFO,logTag, "Swipe Top to Bottom");
                    mSwipeDetected = Action.TB;
                    return false;
                }
                if (deltaY > 0) {
                    Logger.show(Log.INFO,logTag, "Swipe Bottom to Top");
                    mSwipeDetected = Action.BT;
                    return false;
                }
            } 
        return true;
    }
    }
    return false;
}
公共类SwipeDetector实现View.OnTouchListener{
公共静态枚举操作{
LR,//从左到右
RL,//从右到左
TB,//从上到下
BT,//从下到上
无//未检测到任何操作时
}
私有静态最终字符串logTag=“SwipeDetector”;
专用静态最终整数最小距离=100;
私人浮动downX,downY,upX,upY;
私有操作mSwipeDetected=操作。无;
公共布尔swipedtected(){
返回mSwipeDetected!=操作。无;
}
公共行动{
检测到返回消息;
}
公共布尔onTouch(视图v,运动事件){
开关(event.getAction()){
case MotionEvent.ACTION\u DOWN:{
downX=event.getX();
downY=event.getY();
mSwipeDetected=操作。无;
return false;//允许处理单击等其他事件
}
case MotionEvent.ACTION\u移动:{
upX=event.getX();
upY=event.getY();
浮动deltaX=downX-upX;
浮动三角洲=downY-upY;
//水平扫描检测
如果(数学绝对值(deltaX)>最小距离){
//左还是右
如果(deltaX<0){
Logger.show(Log.INFO,logTag,“从左向右滑动”);
mSwipeDetected=Action.LR;
返回true;
}
如果(deltaX>0){
Logger.show(Log.INFO,logTag,“从右向左滑动”);
mSwipeDetected=Action.RL;
返回true;
}
}否则
//垂直扫描检测
如果(数学绝对值(deltaY)>最小距离){
//自上而下
如果(三角洲<0){
Logger.show(Log.INFO,logTag,“从上到下滑动”);
mSwipeDetected=Action.TB;
返回false;
}
如果(三角洲>0){
Logger.show(Log.INFO,logTag,“从下到上滑动”);
mSwipeDetected=Action.BT;
返回false;
}
} 
返回true;
}
}
返回false;
}
}

希望这对您有所帮助:)

你可以读到:

你可以使用这个库-@user3509091你能详细说明你的问题吗?我相信我们对你想要什么都有误解。还是只有我?好的。我这一行共有4个文本视图。我想做的是在开始时将文本视图隐藏在左侧。我希望隐藏的文本视图只有在用户滑动时才可见,即现在的altoget她的所有4个文本视图都应该可见