标签: scrollview

ScrollView中的Android ListView行未完全显示 - 已剪切

我在ScrollView中嵌入ListView时遇到了一个问题,或者至少我觉得问题来自哪里.ListView元素非常简单:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/item_root"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/general_background_list_middle" 
    android:paddingTop="4dp"
    android:paddingBottom="4dp"
    android:paddingRight="0dp"
    android:paddingLeft="0dp">

    <ImageView
        android:id="@+id/chat_friends_avatar"       
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_marginLeft="7dp"
        android:layout_marginRight="8dp"
        android:paddingRight="0dp" 
        android:paddingLeft="0dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/friends_icon_avatar_default"/>

    <TextView
        android:id="@+id/chat_message_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/chat_friends_avatar"
        android:layout_alignParentTop="true"
        android:layout_marginRight="35dp"
        android:maxLines="10"
        android:textSize="12dp"/>

    <TextView
        android:id="@+id/chat_friend_name"
        android:layout_width="140dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="3dp"
        style="@style/SubText"
        android:layout_toRightOf="@id/chat_friends_avatar"      
        android:layout_below="@id/chat_message_text" />

    <TextView
        android:id="@+id/chat_message_time"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:layout_marginRight="8dp"
        android:layout_marginTop="3dp"
        style="@style/SubText"
        android:layout_alignParentRight="true"
        android:layout_below="@id/chat_message_text" />

</RelativeLayout>   
Run Code Online (Sandbox Code Playgroud)

但是,当我在ScrollView中嵌入这样的元素列表时,在其他一些元素之间,行没有完全显示,如果文本被包装,它们将被剪裁(见下图).ListView在ScrollView中实例化如下:

<ListView
android:id="@+id/info_chat_listview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:cacheColorHint="@color/frame_background_color"
android:clickable="false"
android:divider="@null"
android:footerDividersEnabled="false"
android:focusable="false" >
</ListView> 
Run Code Online (Sandbox Code Playgroud)

如果ListView的高度设置为"wrap_content",则仅显示第一个元素.这就是为什么我使用一种方法来计算列表行的高度:

private int getCommentsListHeight() {
        if (mChatAdapter != null && mChatAdapter.getCount() != 0) …
Run Code Online (Sandbox Code Playgroud)

android listview scrollview textview

21
推荐指数
2
解决办法
3万
查看次数

确定视图是否在屏幕上 - Android

我有点坚持这一个 - 首先,下面的链接已经然而有用的,我想出了一个有点能见度的问题:

链接:检查视图可见性

我有一个滚动视图(父)和若干子视图(LinearLayout- > TableLayout)等有许多项的予设定为View.GONEXML中(android:visibility="gone").

我有一些简单的代码来确定它是否可见getVisibility()但是当我设置项目View.VISIBLE并尝试立即getDrawingRect()我得到一个带有零的Rect.任何进一步点击都会得到正确的坐标

现在,这可能是因为观点从来没有抽(如XML定义),使其返回没有坐标然而,我设置View.VISIBLE试图确定屏幕可视性之前.可能是因为我需要从onDraw()获得某种回调吗?或者可能在代码中设置隐藏项目的视图可见性.有点烦人;(

一些代码:

Rect scrollBounds = new Rect();
scroll.getHitRect(scrollBounds);

Rect viewBounds = new Rect();

if (view.getVisibility() == View.GONE) {
    view.setVisibility(View.VISBLE)


    viewBounds.getDrawingRect(viewBounds);
    if (!Rect.intersects(scrollBounds, viewBounds) {
        // do somthing
    } 
}
Run Code Online (Sandbox Code Playgroud)

布局区域如下:

  • ScrollView
    • LinearLayout
      • TableLayout
        • Button
        • HiddenView

当然,我很可能完全以错误的方式解决这个问题 - 基本上我只是想确保scrollview定位自己以便可以看到已经变得可见的视图.

如果需要任何其他信息,请告诉我!

android visibility view scrollview

21
推荐指数
2
解决办法
3万
查看次数

Scrollview不会滚动到底部的边距

我有一个简单的布局如下:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#D23456" >

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:background="#FFFFFF" >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="800dp"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

</ScrollView>
Run Code Online (Sandbox Code Playgroud)

scrollview的背景是粉红色,线性布局里面有android图标图像,高度为800dp(不适合屏幕).我期待看到的是,imageview浮动在粉红色的背景中,每边(顶部,底部,左侧,右侧)的边距为10dp.但是当我滚动到底部时,滚动视图不会滚动到保证金,所以滚动的底部是imageview而不是粉红色的边距.

我怎么能阻止这个?这使用户认为页面尚未结束并使他想要滚动更多.

scrollview android-layout

21
推荐指数
2
解决办法
2万
查看次数

如何在onConfigurationChanged中获取根布局的新宽度/高度?

我们的一个视图有一个ScrollView根布局.当设备旋转并被onConfigurationChanged()调用时,我们希望能够获得ScrollView新的宽度/高度.我们的代码如下所示:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    Log.d(TAG, "Width: '" + findViewById(R.id.scrollview).getWidth() + "'");
    Log.d(TAG, "Height: '" + findViewById(R.id.scrollview).getHeight() + "'");

    super.onConfigurationChanged(newConfig);

    Log.d(TAG, "Width: '" + findViewById(R.id.scrollview).getWidth() + "'");
    Log.d(TAG, "Height: '" + findViewById(R.id.scrollview).getHeight() + "'");
}
Run Code Online (Sandbox Code Playgroud)

我们的AndroidManifest.xml的相关部分如下所示:

<activity android:name=".SomeActivity"
    android:configChanges="keyboardHidden|orientation">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

最后,我们布局的相关部分如下所示:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollview"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    >
    <LinearLayout android:id="@+id/container"
        android:orientation="vertical"
        android:layout_height="fill_parent"
        android:minHeight="200dip"
        android:layout_width="fill_parent"
        >
Run Code Online (Sandbox Code Playgroud)

在我们的Droid上,我们期望ScrollView的宽度在切换到横向时变为854,在切换回纵向时变为480(并且高度与等效开关相同,减去菜单栏).但是,我们正好相反.这是我们的LogCat:

// Switching to landscape:
03-26 11:26:16.490: DEBUG/ourtag(17245): Width: '480'  // Before super …
Run Code Online (Sandbox Code Playgroud)

android scrollview orientation onconfigurationchanged

20
推荐指数
3
解决办法
1万
查看次数

使垂直滚动条可见

我想让垂直滚动条永久可见.目前滚动条仅在我尝试滚动滚动视图中包含的文本视图时出现.这是我的XML声明.

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@id/radio_group"
    android:layout_margin="5dp"
    android:scrollbars="vertical" 
    android:scrollbarAlwaysDrawVerticalTrack="true" >
    <TextView
        android:id="@+id/question"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:textColor="#FF000000"
        android:textStyle="bold" />
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

感谢您的时间.

android scrollview textview

20
推荐指数
2
解决办法
2万
查看次数

滚动listView时为什么项目会消失?

我的应用程序使用ListView显示单元格中不同项目的应用程序.它必须有照片和名称,但它恰好有描述和图标.

问题是:当我滚动ListView并回到顶部时,描述和图标已经消失,只有图像和名称.我的印象是描述和图标已被删除,每行的大小相同.

我(BaseAdapter)为我使用自定义适配器ListView:

public class MyAdapterPark extends BaseAdapter {

    private ArrayList<DataPark> datapark;
    private LayoutInflater myInflater;

    public MyAdapterPark (Context context, ArrayList<DataPark> _datapark)
    {
        this.myInflater = LayoutInflater.from(context);
        this.datapark = _datapark;

    }


    @Override
    public int getCount() {
        return this.datapark.size();
    }

    @Override
    public Object getItem(int arg0) {
        return this.datapark.get(arg0);

    }

    @Override
    public long getItemId(int position) {
        return position;
    }


    public static class ViewHolder {
        ImageView image;
        TextView text01;
        ImageView facebook;
        ImageView twitter;
        ImageView linkedin;
        ImageView blog; …
Run Code Online (Sandbox Code Playgroud)

xml layout android listview scrollview

20
推荐指数
1
解决办法
1万
查看次数

SwiftUI 在 ScrollView 中自动滚动到底部(从底部开始)

我的问题是我(在 SwiftUI 中)有一个 ScrollView,里面有一个 foreach。知道 foreach 何时加载我的所有条目,我希望最后一个条目得到关注。

我做了一些谷歌研究,但我没有找到任何答案。

  ScrollView {
    VStack {
      ForEach (0..<self.entries.count) { index in
        Group {
          Text(self.entries[index].getName())
        }
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

foreach scroll scrollview swiftui swiftui-list

20
推荐指数
5
解决办法
1万
查看次数

ScrollView + NavigationView 动画故障 SwiftUI

我有一个简单的看法:

var body: some View {
        NavigationView {
            ScrollView {
                VStack {
                    ForEach(0..<2) { _ in
                        CardVew(for: cardData)
                    }
                }
            }
            .navigationBarTitle("Testing", displayMode: .automatic)
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是您可以用任何东西替换 CardView - 故障仍然存在。故障视频

有办法解决吗?

Xcode 12.0.1,斯威夫特 5

animation scrollview swift swiftui

20
推荐指数
3
解决办法
4003
查看次数

升级到iOS7/xcode 5后,UIScrollView不会滚动

我有一个应用程序,在xcode 4.5和ios 6.1滚动时工作得很好.但是,在下载xcode 5和iOS 7后,我的滚动视图不再起作用了.???

这是我的.h文件:

#import <UIKit/UIKit.h>

@interface GrillretterViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIScrollView *grillretterScroller;
@property (assign) CGPoint rememberContentOffset;

@end
Run Code Online (Sandbox Code Playgroud)

这是我的.m文件:

#import "GrillretterViewController.h"

@interface GrillretterViewController ()

@end

@implementation GrillretterViewController
@synthesize grillretterScroller, rememberContentOffset;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    [grillretterScroller setScrollEnabled:YES];

    // Do any additional setup after loading the view.
}

- (void) viewDidAppear:(BOOL)animated {
    [grillretterScroller setContentSize:CGSizeMake(300, 915)]; …
Run Code Online (Sandbox Code Playgroud)

objective-c scrollview uiscrollview ios7 xcode5

19
推荐指数
4
解决办法
3万
查看次数

在RecyclerView中设置contentInset

我正在尝试在iOS中实现RecyclerView类似的功能UICollectionView.我想contentInset在回收站视图的底部设置一个,但我找不到这样做的选项.

Android有类似的东西吗?

android scrollview android-recyclerview

19
推荐指数
1
解决办法
5170
查看次数