- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 Android 中设计布局一段时间后,我仍然无法掌握它。结果往往是不可预测的。
我认为这部分归结为一些布局选项不能很好地协同工作。 IE。如果您使用一种指定布局的方式,则您并不打算使用其他方式。
值得注意的是,对我而言,将 layout_width
从 fill_parent
更改为 wrap_content
通常会改变世界。再举一个具体的例子:
我的 Activity 布局的一部分是 LinearLayout:
<LinearLayout android:id="@+id/ll2" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal">
<LinearLayout android:id="@+id/ll2a" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1">
<TextView android:id="@+id/l_cover" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/book_item_l_cover">
</TextView>
<ImageButton android:id="@+id/i_cover"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:scaleType="centerInside" android:gravity="center"
android:layout_weight="1" android:adjustViewBounds="true"
android:src="@drawable/spinner_black_76" android:minWidth="400dip">
</ImageButton>
</LinearLayout>
<LinearLayout android:id="@+id/ll2b" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1">
<TextView android:id="@+id/l_back_cover" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/book_item_l_back_cover">
</TextView>
<ImageButton android:id="@+id/i_back_cover"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:scaleType="centerInside" android:gravity="center"
android:layout_weight="1" android:adjustViewBounds="true"
android:src="@drawable/spinner_black_76">
</ImageButton>
</LinearLayout>
</LinearLayout>
要让 2 列左对齐的标签按钮组合彼此相邻,我必须使用 layout_weight
属性。由于 adjustViewBounds
属性,ImageButtons 在图像周围收缩。这让我得到了一个很好的结果。
现在,我最后还想要的是拥有一个最小尺寸的按钮,这样手指就可以轻松按下它们,即使它们不包含任何图像(它们会缩小到只有几毫米)。如您所见,我尝试设置 android:minWidth="400dip"
。我预计按钮会填满整个屏幕的一半宽度(400 是一个很大的值),但我没有看到任何差异。
我想上面的其他属性之一正在阻止 minWidth
产生任何影响。我可能会去试验并禁用其他一些,看看它能给我带来什么。但我的问题是:是否有人有关于哪个属性阻止或反直觉影响另一个的任何(逻辑)信息?我想一劳永逸地解决这个问题。这在某处记录了吗?
最佳答案
我注意到 layout_weight 似乎使 minWidth 变得无用。
给定线性布局中的三个按钮,左侧和右侧的权重为 0,中心为 1,更改其中任何一个的 minWidth 对呈现 View 的方式绝对没有影响,直到我删除layout_weight 属性完全针对每个按钮。我什至确保所有 minWidth 的总和小于整个 View 的宽度。
我不知道为什么会这样。 documentation关于 layout_weight:
This attribute assigns an "importance" value to a view, and allows it to expand to fill any remaining space in the parent view. Child views can specify an integer weight value, and then any remaining space in the view group is assigned to children in the proportion of their declared weight
我也很想知道其他哪些布局参数相互冲突。为 View 定义权重以填充“父 View 中的剩余空间”对我来说似乎非常不直观,这将完全忽略 View 的 minWidth 设置。
关于安卓用户界面 : what kind of layout options are mutually exclusive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885886/
我正在用KIND测试K8。。我创建了集群:。现在我想用sudo Kind删除集群来删除这个集群,但得到的是:。但是当我转到路径时,我看不到文件:。配置文件:。另外,当调用命令sudo种类删除集群--名
我在用kind测试k8。我创建了集群:。现在我想用sudo Kind删除集群来删除这个集群,但得到的是:。但当转到路径时,我没有看到文件:。配置文件:。另外,当调用命令sudo种类删除集群--名称节点
我在 Haskell 中为日期结构派生 Typeable1 实例时遇到问题。 这是我的代码: {-# LANGUAGE StandaloneDeriving #-} {-# LANGU
我最近从Kubernetes 1.2.0升级到Kubernetes 1.3.0,现在当我尝试开始工作时遇到以下错误: $ kubectl create -f pijob.yaml unable to
当我创建这样的子图时: import pandas as pd import numpy as np import matplotlib.pyplot as plt import itertools
我有一个名为 firstperiod 的 pandas 数据框和一个名为 megaball 的列。 megaball 的取值范围是 1 到 25,这行代码: print firstperiod.meg
我有一个数据库列:。如何使其仅允许Kind。未指定?。当我插入以下内容时,出现以下错误:。我见过的每个解决方案都是使用Npgsql.EnableLegacyTimestampBehavior。但是,这
我有一个数据库列:。如何使其仅允许Kind。未指定?。当我插入以下内容时,出现以下错误:。我见过的每个解决方案都是使用Npgsql.EnableLegacyTimestampBehavior。但是,这
两个reflect.Type接口(interface)和reflect.Value type 实现相同的 Kind() 方法签名,假设我们有一些值对象 v := reflect.ValueOf(x)
到目前为止,我已经尝试了以下代码: # Import to handle plotting import seaborn as sns # Import pyplot, figures inline,
我正在尝试为我的 kubernetes 集群设置一个 kind 集群。不幸的是,它在编写节点时准备好节点后失败了。我将附上输出和一些信息。提前感谢您的帮助! 干杯 错误 $ kind create c
当我尝试 Haskell 类型并尝试获得 -> 类型时,结果出现了: $ ghci ... Prelude> :k (->) (->) :: ?? -> ? -> * Prelude> 而不是预期的*
我想将reflect.Kind作为实现接口(interface)的类型的reflect.Interface,但其实现基于原始类型:type id string 对此问题的另一种答案可能是如何在调用 K
运行我的项目 ng build --prod --base-href="./" 得到下面的错误信息 ERROR in ./node_modules/ng-multiselect-dropdown/fe
我已经阅读了Wikipedia文章,并搜索了明显的地方,但是我陷入了困境。有人可以简单地告诉我什么是实物吗?它是干什么用的 ? 斯卡拉的例子最受赞赏 最佳答案 简而言之:一种类型就是类型,值就是类型。
我一直在思考我正在处理的库中的一个设计问题,我意识到使用存在类型可能允许我以一种简化库的许多部分的方式更改我的设计。但是,我似乎无法让它正常工作。 在我看来,myBuilder 符合 MultiSig
我有这些类型: SomeTypeClass 具有一个类型参数 kind * => * => * 的更高类型 trait SomeTypeClass[P[_, _]] { def test[F[
我想要获取文件的“Kind”查找器。例如,对于文件“foo.css”,我想要字符串“CSS样式表”。 到目前为止,我正在做这样的事情: NSURL *fileURL = [[NSURL alloc]
我遇到了这样一种情况,我的代码可以从使用 Functor 中受益。和 Applicative - 类似抽象,但用于类型 (* -> *) -> * .可以使用 RankNTypes 定义更高种类的仿函
我读过很多关于类型种类、更高种类的类型等等的有趣的东西。默认情况下,Haskell 支持两种类型: 简单类型:* 类型构造函数:* → * 最新 GHC 语言扩展 ConstraintKinds添加了
我是一名优秀的程序员,十分优秀!