我是一个绝对新的编码器,我正在尝试为强制横向视图的应用程序设计一个屏幕短边导航栏,并允许看到Android导航栏。这基本上归结为在屏幕左侧创建一个垂直按钮栏,为了保持适应性,我决定在LinearLayout块中使用layout_weight构建它。这是相关的代码:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageButton
style="?android:attr/borderlessButtonStyle"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:padding="0dp"
android:background="@android:color/black"
android:src="@drawable/navbut1null" />
<ImageButton
style="?android:attr/borderlessButtonStyle"
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:padding="0dp"
android:background="@android:color/black"
android:src= "@drawable/navbut2null" />
<ImageButton
style="?android:attr/borderlessButtonStyle"
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:padding="0dp"
android:background="@android:color/black"
android:src= "@drawable/navbut3null" />
<ImageButton
style="?android:attr/borderlessButtonStyle"
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:padding="0dp"
android:background="@android:color/black"
android:src= "@drawable/navbut4null" />
</LinearLayout>
我的问题是这些图像按钮的大小不完全对齐,而是底部的两个按钮挤出一个额外的像素而不是前两个(使用这个确切的代码),反之亦然(当我更换layout_height时) =“0dp”with layout_height =“match_parent”)。这是一张图片:
(http://i.stack.imgur.com/2xReC.png)(抱歉,我无法嵌入 - 我有0声誉)
它很微妙,但您可能会注意到底部两个按钮的挤压。事实上,如果不在所有按钮上将背景设置为黑色,则前两个按钮会在其上方和下方形成薄的白色边距,我认为这与此处发生的任何事情有关。
那是怎么回事?你会建议我做什么?我的目标是推特式的导航栏。
答案 0 :(得分:2)
尝试将ImageButton的layout_width的值从“wrap_content”更改为“0dp”
<ImageButton
style="?android:attr/borderlessButtonStyle"
android:id="@+id/button2"
android:layout_width="0dp" <!-- should you change here -->
android:layout_height="match_parent"
android:layout_weight="1"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:padding="0dp"
android:background="@android:color/black"
android:src= "@drawable/navbut2null" />
答案 1 :(得分:0)
确保您没有任何与右容器颜色相同的视图。而且该视图可以与您的2个顶部按钮重叠。
此外,我认为将ViewGroup背景设置为黑色可以解决您的问题。如果没有。也许,2个底部按钮旁边有一个黑色视图。