horizo​​ntalscrollview 设置子元素填充horizo​​ntalscrollview宽度

发布于 2024-12-01 19:48:30 字数 1529 浏览 1 评论 0 原文

基本上我有一个水平滚动视图,通过监视 onTouch 事件我正在分页(即:滚动视图(页面)的每个可见部分在滚动时“点击”到下一个,而不是仅仅具有标准的 ScrollView参见 iOS 中的分页滚动视图)。

现在我想找到一种方法让内部子级继承与滚动视图相同的宽度(在 "fill_parent" 设置)。

这是我的 XML 来提供帮助:

<HorizontalScrollView
        android:id="@+id/scrollview"
        android:layout_height="0dp" 
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:background="@drawable/scrollviewbg">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent">

            <ImageView
                android:src="@drawable/content1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <ImageView
                android:src="@drawable/content2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <ImageView
                android:src="@drawable/content3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        </LinearLayout>

    </HorizontalScrollView>

正如您所看到的,滚动视图设置为宽度 fill_parent 并且其中有一个 LinearLayout 。现在有三个图像,它们的宽度和高度与屏幕的宽度相似,但我想做的是改变 3 个 LinearLayout 。

每个 LinearLayout 都需要继承与滚动视图相同的宽度,这样当我的代码被应用时,每个 LinearLayout 都会占据一整个“页面”。

我该怎么做?这是我必须使用代码来做的事情吗?我需要什么代码?

谢谢。

Basically I have a horizontal scroll view which, by monitoring the onTouch event I'm paging (ie:each visible part of the scroll view (page) "clicks" into the next when scrolling, rather than just having a standard ScrollView. see paged scrollviews in iOS).

Now I want to find a way to have inner children inherit the same width as the scrollview (which is set at "fill_parent").

Here is my XML to help:

<HorizontalScrollView
        android:id="@+id/scrollview"
        android:layout_height="0dp" 
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:background="@drawable/scrollviewbg">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent">

            <ImageView
                android:src="@drawable/content1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <ImageView
                android:src="@drawable/content2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <ImageView
                android:src="@drawable/content3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        </LinearLayout>

    </HorizontalScrollView>

As you can see the scrollview is set to width fill_parent and there is a LinearLayout inside it. Now at the moment there are three images which have a set width and height similar to the width of the screen, but what I want to do is change that for 3 LinearLayouts.

Each LinearLayout needs to inherit the same width as the scroll view, so that each one takes up a whole "page" when my code is applied, as it were.

How would I do this? Is it something I will have to do using code? What code will I need?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小霸王臭丫头 2024-12-08 19:48:30

我知道这不是直接答案,但从 ViewPager 更容易>用于分页功能的兼容包。您可以在 samples 文件夹中找到示例(请参阅 src/com/example/android/supportv4/app/FragmentPagerSupport.java 了解源代码)。

I know its not direct answer, but its much easier to user ViewPager from Compatibility Package for paging functionality. You can find an example in samples folder (see src/com/example/android/supportv4/app/FragmentPagerSupport.java for source code).

别闹i 2024-12-08 19:48:30

试试这个:
android:fillViewport="true"

<HorizontalScrollView

    android:fillViewport="true"

    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<TextView
    android:layout_gravity="right"
    android:background="@drawable/black_border"
    android:id="@+id/displayText"
    android:layout_width="match_parent"
    android:scrollHorizontally="true"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="20dp"
    android:text=""
    android:textSize="20sp" />
</HorizontalScrollView>

在水平滚动视图内,我有一个文本视图,你可以尝试图像视图

Try this:
android:fillViewport="true"

<HorizontalScrollView

    android:fillViewport="true"

    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<TextView
    android:layout_gravity="right"
    android:background="@drawable/black_border"
    android:id="@+id/displayText"
    android:layout_width="match_parent"
    android:scrollHorizontally="true"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:padding="20dp"
    android:text=""
    android:textSize="20sp" />
</HorizontalScrollView>

inside horizontal scroll view, i have a text view, you can try for image view

内心旳酸楚 2024-12-08 19:48:30

将所有 layout_height 参数设置为 fill_parent。然后您应该会看到全屏图像。

Set all the layout_height parameters as fill_parent. You should see the image in full screen then.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文