我有一个线性布局,里面有几个按钮。按钮图像大小相同,属性相同......除了一个按钮。这一个按钮的字体较小。除了这个按钮之外的所有按钮都完全符合我的要求。出于某种原因,屏幕较小的按钮在屏幕上显示的位置比其他按钮略低。我很难想到一个按钮的想法,这个按钮需要更少的空间占用额外的空间。
有人可以给我一些关于阅读内容的提示吗?
修改的
这是main.xml(似乎SO过滤了一些,所有重要的东西都在这里......)
<ScrollView android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="300px">
<TextView
android:id="@+id/the_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:typeface="monospace"
android:textSize="9pt"
android:background="@color/paper"
android:paddingLeft="20dp"
android:paddingBottom="20dp"
android:textColor="@color/type"
/>
</ScrollView>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button style="@style/ASR33_button"
android:tag="Y"
android:text="Y"
/>
<Button style="@style/ASR33_button"
android:tag="N"
android:text="N"
/>
<Button style="@style/ASR33_button"
android:tag="E"
android:text="E"
/>
<Button style="@style/ASR33_button"
android:tag="W"
android:text="W"
/>
<Button style="@style/ASR33_button"
android:tag="S"
android:text="S"
/>
<Button style="@style/ASR33_button"
android:tag="F"
android:text="F"
/>
<Button style="@style/ASR33_button"
android:tag="R"
android:text="R"
/>
<Button style="@style/ASR33_button"
android:tag="M"
android:text="M"
/>
<Button style="@style/ASR33_button"
android:tag="T"
android:text="T"
/>
<Button style="@style/ASR33_button"
android:onClick="onEnterButtonClicked"
android:textSize="6pt"
android:text="RE-\nTURN"
/>
<Button style="@style/ASR33_button"
android:tag="U"
android:text="U"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/instructions"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="9pt"
android:paddingLeft="10dp"
android:typeface="normal"
android:text="Commands: (Y)es, (N)o, (N)orth, (E)ast, (W)est, (S)outh, (M)ap, (ST)atus, (Fight), (R)un, (SU)icide. All commands must be followed by RETURN."
/>
</LinearLayout>
那个不稳定的是从底部开始的第二个,有不同的onclick事件。风格的字符大小为11pt。如果我使用它(和一个1个字母的按钮名称,就像其他人一样)它的行为。但这不是ASR33'进入'钥匙的原因。因此,如果我将字体大小减小到6磅,那就会发生奇怪的事情。
可以看到样式here。
再次,请阅读参考或想法,如果我有一两个字要搜索,我可以弄明白。很难知道你不知道的是什么......
解决
Anurag说得对,请参阅下面的回答。以下是更新的LinearLayout的摘录:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false">
答案 0 :(得分:1)
可能由于按钮的wrap_content属性而重新调整大小。所以你应该做的是保持所有按钮的线性布局的固定高度,同时将其设置为填充父母。
在线性布局中,让各个按钮的高度设置为包装内容,这将使所有按钮的高度与线性布局的高度相同,并为小按钮设置属性android:adjustViewBounds="true"
。此属性将调整图像按钮的大小以保持纵横比。我希望这会有所帮助。
编辑: 所以这里是你的问题的解决方案,这是由于线性布局的基本对齐属性引起的。默认情况下,水平LinearLayout会对齐其所有子控件的基线。因此,多行按钮中的第一行文本与其他按钮中的单行文本垂直对齐。在LinearLayout上设置android:baselineAligned =“false”。这完全适用于我的HTC。