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

自动调整按钮大小到屏幕大小?

高吉星
2023-03-14

我是一个新的android开发和我正在尝试创建和应用程序与网格菜单,菜单。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="nl.drieo.soundwave.test.cms.MainComponents"
android:background="@drawable/background2" >

<SearchView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/searchView"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"
    android:background="#f0f0f0"
    android:layout_marginBottom="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/content"
    android:id="@+id/btContent"
    android:drawableTop="@drawable/ic_menu"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:textStyle="bold"
    android:layout_below="@+id/searchView"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="10dp"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btBanner"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Overzichten"
    android:id="@+id/btCollection"
    android:drawableTop="@drawable/ic_collection"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:textStyle="bold"
    android:layout_below="@+id/btContent"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="10dp"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btGroup"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Nieuws"
    android:id="@+id/btNewsItem"
    android:drawableTop="@drawable/ic_news"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:layout_alignParentStart="true"
    android:textStyle="bold"
    android:layout_below="@+id/btGroup"
    android:layout_marginBottom="10dp"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btNewsLetter"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Agenda"
    android:id="@+id/btAgendaItem"
    android:drawableTop="@drawable/ic_agenda"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:layout_below="@+id/btNewsItem"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="10dp"
    android:textStyle="bold"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btlabel"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/FotoAlbums"
    android:id="@+id/btPhotoAlbum"
    android:drawableTop="@drawable/ic_photoalbum"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:layout_below="@+id/btAgendaItem"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="10dp"
    android:textStyle="bold"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btMenuItem"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Banner"
    android:id="@+id/btBanner"
    android:background="#f0f0f0"
    android:drawableTop="@drawable/ic_banner"
    android:padding="10dp"
    android:textColor="#000000"
    android:textStyle="bold"
    android:layout_alignTop="@+id/btContent"
    android:layout_alignStart="@+id/btGroup"
    android:alpha="0.65" />

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Groepen"
    android:id="@+id/btGroup"
    android:drawableTop="@drawable/ic_group"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:textStyle="bold"
    android:layout_alignTop="@+id/btCollection"
    android:layout_alignStart="@+id/btNewsLetter"
    android:layout_marginBottom="10dp"
    android:alpha="0.65" />

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/NieuwsBrieven"
    android:id="@+id/btNewsLetter"
    android:background="#f0f0f0"
    android:drawableTop="@drawable/ic_newsletter"
    android:padding="10dp"
    android:textColor="#000000"
    android:layout_alignTop="@+id/btNewsItem"
    android:layout_alignParentEnd="true"
    android:textStyle="bold"
    android:layout_marginBottom="10dp"
    android:alpha="0.65" />

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Label"
    android:id="@+id/btlabel"
    android:background="#f0f0f0"
    android:drawableTop="@drawable/ic_label"
    android:padding="10dp"
    android:textColor="#000000"
    android:layout_alignTop="@+id/btAgendaItem"
    android:layout_alignParentEnd="true"
    android:textStyle="bold"
    android:alpha="0.65" />

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Menu"
    android:id="@+id/btMenuItem"
    android:background="#f0f0f0"
    android:drawableTop="@drawable/ic_content"
    android:padding="10dp"
    android:textColor="#000000"
    android:layout_alignTop="@+id/btPhotoAlbum"
    android:layout_alignParentEnd="true"
    android:textStyle="bold"
    android:alpha="0.65" />
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="nl.drieo.soundwave.test.cms.MainComponents"
android:background="@drawable/background2"
android:orientation="vertical">

<SearchView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/searchView"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"
    android:background="#f0f0f0"
    android:layout_marginBottom="10dp"/>
<android.support.percent.PercentRelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="match_parent">

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/content"
    android:id="@+id/btContent"
    android:drawableTop="@drawable/ic_menu"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:textStyle="bold"
    android:layout_below="@+id/searchView"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="10dp"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btBanner"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Overzichten"
    android:id="@+id/btCollection"
    android:drawableTop="@drawable/ic_collection"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:textStyle="bold"
    android:layout_below="@+id/btContent"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="10dp"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btGroup"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Nieuws"
    android:id="@+id/btNewsItem"
    android:drawableTop="@drawable/ic_news"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:layout_alignParentStart="true"
    android:textStyle="bold"
    android:layout_below="@+id/btGroup"
    android:layout_marginBottom="10dp"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btNewsLetter"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Agenda"
    android:id="@+id/btAgendaItem"
    android:drawableTop="@drawable/ic_agenda"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:layout_below="@+id/btNewsItem"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="10dp"
    android:textStyle="bold"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btlabel"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/FotoAlbums"
    android:id="@+id/btPhotoAlbum"
    android:drawableTop="@drawable/ic_photoalbum"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:layout_below="@+id/btAgendaItem"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="10dp"
    android:textStyle="bold"
    android:alpha="0.65"
    android:layout_toStartOf="@+id/btMenuItem"
    android:layout_marginRight="10dp"/>

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Banner"
    android:id="@+id/btBanner"
    android:background="#f0f0f0"
    android:drawableTop="@drawable/ic_banner"
    android:padding="10dp"
    android:textColor="#000000"
    android:textStyle="bold"
    android:layout_alignTop="@+id/btContent"
    android:layout_alignStart="@+id/btGroup"
    android:alpha="0.65" />

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Groepen"
    android:id="@+id/btGroup"
    android:drawableTop="@drawable/ic_group"
    android:padding="10dp"
    android:textColor="#000000"
    android:background="#f0f0f0"
    android:textStyle="bold"
    android:layout_alignTop="@+id/btCollection"
    android:layout_alignStart="@+id/btNewsLetter"
    android:layout_marginBottom="10dp"
    android:alpha="0.65" />

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/NieuwsBrieven"
    android:id="@+id/btNewsLetter"
    android:background="#f0f0f0"
    android:drawableTop="@drawable/ic_newsletter"
    android:padding="10dp"
    android:textColor="#000000"
    android:layout_alignTop="@+id/btNewsItem"
    android:layout_alignParentEnd="true"
    android:textStyle="bold"
    android:layout_marginBottom="10dp"
    android:alpha="0.65" />

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Label"
    android:id="@+id/btlabel"
    android:background="#f0f0f0"
    android:drawableTop="@drawable/ic_label"
    android:padding="10dp"
    android:textColor="#000000"
    android:layout_alignTop="@+id/btAgendaItem"
    android:layout_alignParentEnd="true"
    android:textStyle="bold"
    android:alpha="0.65" />

<Button
    android:layout_width="160dp"
    android:layout_height="80dp"
    android:text="@string/Menu"
    android:id="@+id/btMenuItem"
    android:background="#f0f0f0"
    android:drawableTop="@drawable/ic_content"
    android:padding="10dp"
    android:textColor="#000000"
    android:layout_alignTop="@+id/btPhotoAlbum"
    android:layout_alignParentEnd="true"
    android:textStyle="bold"
    android:alpha="0.65" />
</android.support.percent.PercentRelativeLayout>

当前依赖项:compile fileTree(目录:“libs”,include:['*.jar'])testCompile“junit:junit:4.12”编译组:“org.apache.httpcomponents”,名称:“httpclient-android”,版本:“4.3.5.1”编译组:“cz.msebera.android”,名称:“httpclient”,版本:“4.4.1.1”编译“com.android”支持:AppCompat-v7:23.2.0“编译”com.android“支持:AppCompat-v7:23.2.0”编译“com.android”支持:Design:23.2.0“编译”com.android“支持:

共有1个答案

向杜吟
2023-03-14

您可以将linearlayoutweightsum一起使用。或者您可以使用google库PercentralRelativeLayout,通过这个库,您可以按百分比设置视图的weightheigh,这很棒,因为在所有屏幕中它们看起来都是一样的,当然,编写代码并不难。此处示例:

<android.support.percent.PercentRelativeLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
     <ImageView
         app:layout_widthPercent="50%"
         app:layout_heightPercent="50%"
         app:layout_marginTopPercent="25%"
         app:layout_marginLeftPercent="25%"/>
 </android.support.percent.PercentRelativeLayout>

和Google的官方文档https://developer.android.com/reference/android/support/percent/percentrelativelayout.html

更新

尝尝这样的

<?xml version="1.0" encoding="utf-8"?>
<android.support.percent.PercentRelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <SearchView
        android:id="@+id/searchView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="10dp"
        android:background="#f0f0f0"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="100%"/>

    <Button
        android:id="@+id/btContent"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/searchView"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="10dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_toStartOf="@+id/btBanner"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="content"
        android:textColor="#000000"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btCollection"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/btContent"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="10dp"
        android:layout_toStartOf="@+id/btGroup"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="Overzichten"
        android:textColor="#000000"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btNewsItem"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/btGroup"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="10dp"
        android:layout_toStartOf="@+id/btNewsLetter"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="Nieuws"
        android:textColor="#000000"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btAgendaItem"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/btNewsItem"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="10dp"
        android:layout_toStartOf="@+id/btlabel"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="Agenda"
        android:textColor="#000000"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btPhotoAlbum"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/btAgendaItem"
        android:layout_marginBottom="10dp"
        android:layout_marginRight="10dp"
        android:layout_toStartOf="@+id/btMenuItem"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="FotoAlbums"
        android:textColor="#000000"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btBanner"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_alignStart="@+id/btGroup"
        android:layout_alignTop="@+id/btContent"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="Banner"
        android:textColor="#000000"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btGroup"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_alignStart="@+id/btNewsLetter"
        android:layout_alignTop="@+id/btCollection"
        android:layout_marginBottom="10dp"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="Groepen"
        android:textColor="#000000"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btNewsLetter"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@+id/btNewsItem"
        android:layout_marginBottom="10dp"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="NieuwsBrieven"
        android:textColor="#000000"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btlabel"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@+id/btAgendaItem"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="Label"
        android:textColor="#000000"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/btMenuItem"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@+id/btPhotoAlbum"
        android:alpha="0.65"
        android:background="#f0f0f0"
        android:drawableTop="@drawable/ic_launcher"
        android:padding="10dp"
        android:text="Menu"
        android:textColor="#000000"
        android:textStyle="bold"/>

</android.support.percent.PercentRelativeLayout>

在你的建筑里加上这一行

dependencies {
    compile 'com.android.support:percent:23.2.0'
}
 类似资料:
  • 问题内容: 我正在尝试使用Javafx制作屏幕键盘。我正在使用Scene Builder制作FXML文件。 但是,当调整窗口大小时,内容不会。我希望按钮增加/减小大小,直到适合窗口为止。启用Hgrow和Vgrow无效。 而且我找不到如何在按钮上设置填充。我想使类似Ctrl的按钮更小而不丢失文本。 问题答案: 根据字体大小调整大小 对于您的特定情况,而不是尝试使用填充或其他布局约束来调整按钮的大小,

  • 我有一个JFrame,其中包含一个面板。我还向面板添加了。到目前为止,我所做的是在我的框架上使用来对调整窗口大小做出反应。 下面是我的代码片段: 当更改框架的大小时,的大小可以完全调整。但是当我最大化我的框架,图表面板不会改变它的大小!它保持在最大化之前的时刻。因此,当我再次“取消最大化”我的框架时,图表面板被最大化,这导致了问题,图表将不再适合图表面板。所有这些调整尺寸的事情似乎都“落后一步”.

  • 问题内容: 我一直试图(徒劳地)建立一个页面,当我更改窗口大小时,其元素将重新调整大小。我可以在CSS中使用它来处理图像,但是没有问题,但是我似乎无法在文本上完成相同的操作,而且我不确定在CSS中是否有可能。而且我似乎找不到能完成此任务的jQuery脚本。 当用户调整窗口大小时,我实质上希望页面能够动态流畅地缩放,而无需用户调用页面缩放。通过css在我的img div上这可以正常工作,但对于文本则

  • ripple_oval.xml 如何使按钮内部图标的大小与指南中描述的完全一致? http://www.google.com/design/spec/components/buttons.html#buttons-flowing-action-button

  • 我有一个窗口与列表框,调整大小与彼此。我用网格来做这个。列表框下面有一排按钮,它们当前正在随着窗口移动和调整大小。我希望按钮保持原位,并在窗口和列表框调整大小时保持一致的大小(所以按钮总是保持在列表框的左下角)。 有简单的方法吗?我今天才开始使用Tkinter,所以我可能只是在文档中错过了它,或者可能只是在网格布局上感到困惑。 按钮设置如下: 我已经尝试了所有粘性组合,但那些不调整按钮大小的组合仍