设计 Android 小部件的宽度和高度

Posted

技术标签:

【中文标题】设计 Android 小部件的宽度和高度【英文标题】:Designing widths and heights of Android widgets 【发布时间】:2016-04-28 15:48:15 【问题描述】:

设计小部件的宽度和高度以使其在纵向和横向模式下看起来都不错的最佳方法是什么?例如,我正在尝试制作一个简单的注册页面,当他们输入他们的信息并且格式正确时,我想在相应的EditText 视图旁边显示一个小复选框图像。

我的特殊问题是,如果没有图像复选框,我可以将EditText 宽度设置为match_parent,它会在纵向和横向模式下扩展到整个屏幕。但是,一旦我在EditText 小部件旁边添加了ImageView 复选框,我必须将EditText 的宽度设置为特定的dp 值,以便为显示复选框留出空间。但是现在它有一个特定的 dp 值,当我将屏幕旋转到横向模式时,EditText 视图的宽度比我想要的要短得多。

所以我的问题是,设计小部件的高度和宽度的最佳方式是什么,以便它们在几乎所有手机上看起来都不错,并且在纵向和横向模式下看起来都不错?我是不是应该一直为横向模式设计一个单独的布局,还是有更聪明的方法来避免这种情况?

【问题讨论】:

我不认为 android 小部件是您要寻找的词:developer.android.com/design/patterns/widgets.html 在 Android Studio 中,EditText 和 ImageView(我提到的那个)在小部件类别下。这包括按钮、进度条等。所以我不确定你的意思。 【参考方案1】:
<LinearLayout 
    android:layout_
    android:layout_
    android:orientation="horizontal" >

<EditText 
    android:layout_
    android:layout_
    android:layout_weight="2"
     <!-- your stuff here --> />
<ImageView
    android:layout_
    android:layout_
    android:layout_weight="0.5"
    <!-- your stuff here --> />
 />

【讨论】:

哦,那么layout_weight 是解决这个问题的关键吗?酷,我不知道。

以上是关于设计 Android 小部件的宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章

无法获取小部件的高度/宽度 - gtkmm

容器装满了超出高度和宽度的小部件而不会溢出

Android:如何使用 ConstraintLayout 在另一个小部件上显示一个小部件?

如何在颤动中获取动态文本小部件的宽度?

如何在 Kivy 中设置小部件/布局的最小允许宽度/高度?

在颤振中使用 PreferredSize 小部件有啥用?