当前位置: 首页 > 知识库问答 >
问题:

如何在android的Listview中分配水平滚动从右到左

华振
2023-03-14

我有列表视图行的嵌套视图。我也使用水平滚动视图在特定行中水平滚动。但是在一些行中,我希望从右到左滚动功能。我搜索这个,我发现了一些平滑的滚动=“20dp”,但它根本不起作用。

编辑的文本我添加了holder.hv.smoothScrollTo(holder.hv.getRight(),holder.hv.getTop ());在我的图像视图点击侦听器,当我点击该图像视图我的水平滚动视图移到结束(右)...我怎么才能使它可能滚动特定的行没有点击侦听器这是我的代码

 public View getView(int position, View convertView, ViewGroup parent) {
    final ViewHolder holder;
    int type = getItemViewType(position);
    System.out.println("getView " + position + " " + convertView + " type = " + type);
    if (convertView == null) {
        holder = new ViewHolder();
        switch (type) {
            case 0:
                convertView = inflater.inflate(R.layout.list_row1, null);
                 holder.hv = (HorizontalScrollView)convertView.findViewById(R.id.horizontalScrollView1);
                holder.videoview1 = ((ImageView)convertView.findViewById(R.id.train).findViewById(R.id.boogi1).findViewById(R.id.imageView1));
                Log.d("Listview", "front value is"+position);
                holder.videoview1.setTag(position);
                holder.videoview1.setOnClickListener(new OnClickListener() {                
                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub

                        holder.hv.smoothScrollTo(holder.hv.getRight(), holder.hv.getTop());
                        }
                });


                break;
            case 1:convertView = inflater.inflate(R.layout.list_row2, null);
                holder.videoview1 = ((ImageView)convertView.findViewById(R.id.train2).findViewById(R.id.boogi2).findViewById(R.id.imageView1)); 
                holder.videoview1.setTag(position);
                holder.videoview1.setOnClickListener(new OnClickListener() {                
                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        Toast.makeText(context, "you right clicked"+v.getTag() , Toast.LENGTH_SHORT).show();                        
                    }
                });
                break;
        }
        convertView.setTag(holder);
    } else {

        holder = (ViewHolder)convertView.getTag();

    }

    return convertView;
}

感谢您的帮助。非常感谢。

共有1个答案

长孙明知
2023-03-14

我在@Appu和其他stack overflow成员的帮助下解决了这个问题...

只是我将此代码添加到我想自动向右滚动到的行中

holder.hv.post(new Runnable() 
                {
                    public void run() 
                     {
   holder.hv.smoothScrollTo(holder.hv.getRight()+80, holder.hv.getTop());

// Hv是horizontalscrollview

                     }
                  });
 类似资料:
  • 问题内容: 我只想在Webview中进行垂直滚动,而不希望进行水平滚动。 这帮助我解决了滚动问题。 但是使用它使我的webview看起来很奇怪。所有编辑文本的高度都被压缩(垂直),并且看起来很差。 还有什么其他方法可以从客户端禁用水平滚动? 使用SINGLE_COLUMN如何避免webview高度变化的问题?我希望垂直外观与没有SINGLE_COLUMN时的外观相同 问题答案: 这是一种hack,

  • 我有一个水平ScrollView,它有两个元素:CardView和水平RecycerView。所以,当用户水平滚动时,我希望这两个元素滚动。 我想有这样的东西:Goal,橙色的线是CardView,黄色的线是RecycerView。当用户滚动时,两个元素滚动,如下所示:Scrolled Goal。 现在在我的应用程序中,当用户滚动时,只有RecycerView滚动。CardView保持在他的位置。

  • 问题内容: 我正在使用计算器。我注意到,在默认的android calc中,您可以水平滚动textview。我查阅了文档,发现了该属性,但是将其添加到textview后,我仍然无法进行水平滚动,文档中没有关于它的更多信息,使我认为仅添加attr就足够了。这是计算器的文本视图: 当字符超过textview宽度时,将修剪字符串,并在末尾显示…。我究竟做错了什么? 问题答案: 这样可以使textview

  • 我有第10个项目作为列表视图中可见的顶部。我需要平滑滚动到顶部的项目。当我执行以下操作时,它只是停留在从顶部开始的第6个项目左右,不会滚动到顶部。

  • 问题内容: 我有一个,当行太多时,会出现滚动条,但是当行太长时,该行会分成两行,而不是出现水平滚动条,如何使水平条出现而不是分成两行,我的添加如下: 问题答案: 正如我们自己的Rob Camick 在这里介绍的那样,您可以尝试使用类似… 这将停止行/自动换行

  • 问题内容: 在鼠标滚轮上滚动它执行水平滚动。 已编辑 好吧,firebug说他在用 问题答案: 看来他只是将mousewheel事件映射到滚动区域。在IE中,仅通过使用方法就非常容易-滚动水平条的量为垂直条通常滚动的量。其他浏览器不支持该方法,因此您必须随心所欲地滚动任意数量: