1

对不起这个新手问题。我用谷歌搜索了一段时间,找不到答案。

我连续有 10 个按钮。这在我的平板电脑上看起来不错。但是当我在手机上启动应用程序时,只显示前 5 个按钮,其余的都被切断了。

如果没有足够的空间,剩余的按钮应该显示在第二行。我怎样才能做到这一点?

谢谢。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity">

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="1"
/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="2"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="3"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="4"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="5"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="6"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="7"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="8"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="9"
    />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="10"
    />

4

5 回答 5

2

有趣的!带上@scrollview的父母LinearLayout

<ScrollView...
<LinearLayout...//android:orientation="horizontal"
<Button... // your all buttons
</Button>  
</LinearLayout>
</ScrollView>
于 2013-09-26T13:29:50.790 回答
1
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="1"
    />
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="2"
    />
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="3"
    />
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="4"
    />
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="5"
    />
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="6"
    />
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="7"
    />
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="8"
    />
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="9"
    />
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="10"
    />
</LinearLayout>
</ScrollView>
于 2013-09-26T13:38:31.240 回答
1

用于ScrollView显示完整视图

以下链接中显示了分步示例

http://examples.javacodegeeks.com/android/core/ui/scrollview/android-scrollview-example/

http://www.androidhub4you.com/2013/05/simple-scroll-view-example-in-android.html

于 2013-09-26T13:34:17.590 回答
0
// try this way
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="horizontal"
              tools:context=".MainActivity">

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="1"/>

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="2"/>

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="3"/>

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="4"/>

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="5"/>

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="6"/>

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="7"/>

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="8"/>

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="9"/>

    <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.2"
            android:text="10"/>
</LinearLayout>
于 2013-10-04T04:17:08.700 回答
0

你有几个选择:

  1. 将所有按钮放入一个GridView- 这将适用于任何屏幕尺寸,并且相对简单明了。

  2. 将它们放入一个ScrollView. 这很流行,但对用户来说有点烦人,因为它可能导致误点击,而且他们可能没有意识到您可以滚动按钮。

  3. 如果您只想要 1 或 2 行,具体取决于屏幕大小,请将每行按钮放入单独的布局文件中。然后创建 2 个附加的屏幕相关布局,LinearLayout其中包含两行,但为纵向版本提供垂直方向。因此,当加载该布局时,您会得到两行。

  4. 确定您是否可以以不同的方式呈现按钮 - 可能只使用图标,或者将它们组合成下拉菜单。

于 2013-09-26T13:49:14.450 回答