首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android -使用按钮填充布局

Android -使用按钮填充布局
EN

Stack Overflow用户
提问于 2010-03-14 06:34:00
回答 3查看 4.1K关注 0票数 1

只有一个简单的问题,关于你将如何去实现它。我希望在屏幕底部有按钮,但如果屏幕尺寸较大,则会添加更多按钮。

例如,在小屏幕上,底部可能有4-5个按钮,但如果你在平板电脑或类似的设备上运行,可能会有20个按钮。

有什么建议吗?它也不能滚动,它只能动态地用按钮填充布局。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-14 07:47:19

要将按钮放在布局的底部,请对您的布局执行类似以下操作:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_layout">
    <LinearLayout
        android:layout_height="wrap_content"
        android:id="@+id/button_layout"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:gravity="center">
        <Button
            android:id="@+id/Button01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 1"></Button>
        <Button
            android:id="@+id/Button02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 2"></Button>
        <Button
            android:id="@+id/Button03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 3"></Button>
    </LinearLayout>
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/button_layout"
        android:id="@+id/content">
        <ListView
            android:id="@+id/ListView01"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"></ListView>
    </FrameLayout>
</RelativeLayout>

要根据屏幕大小更改显示的按钮数量,您应该为多种屏幕大小实现单独的布局。

http://developer.android.com/guide/practices/screens_support.html

票数 3
EN

Stack Overflow用户

发布于 2010-03-14 16:08:28

听起来您想创建自己的自定义布局类。或者只是填充一个LinearLayout (例如),直到屏幕空间耗尽。

票数 0
EN

Stack Overflow用户

发布于 2010-05-15 09:22:09

如果您知道按钮的像素大小,可以使用DisplayMetrics获得屏幕的大小,然后计算分配给您的空间中可以容纳多少个按钮。

代码语言:javascript
运行
复制
     DisplayMetrics metrics = new DisplayMetrics();
     getWindowManager().getDefaultDisplay().getMetrics(metrics);

metrics.heightPixels给出了以像素为单位的绝对高度metrics.ydpi给出了屏幕每英寸的精确物理像素

metrics.density提供了用于扩展的逻辑密度

查看此处:http://developer.android.com/reference/android/util/DisplayMetrics.html

然后做一些像这样的事情

代码语言:javascript
运行
复制
do{
    Button button=new Button(context);
    button.setText("yada yada")
    button.allYoursettings....
    .
    .
    LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    LinearLayout layout=(LinearLayout) findViewById(R.id.yourlayout);
    layout.addView(button,p);
} while(havespaceleft);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2440303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档