为什么文本不显示在按钮的中心?

时间:2014-02-08 09:34:51

标签: android android-layout

XML:

 <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:gravity="center"
                android:orientation="horizontal" >

                <Button
                    android:id="@+id/btnRecord"
                    android:layout_width="90dp"
                    android:layout_height="80dp"
                    android:gravity="center"
                    android:text="●"
                    android:textColor="#C63E3B"
                    android:textSize="40sp" />

                <Button
                    android:id="@+id/btnPlay"
                    android:layout_width="90dp"
                    android:layout_height="80dp"
                    android:gravity="center"
                    android:text="▶"
                    android:textColor="#000000"
                    android:textSize="40sp" />

                <Button
                    android:id="@+id/btnS"
                    android:layout_width="90dp"
                    android:layout_height="80dp"
                    android:gravity="center"
                    android:text="■"
                    android:textColor="#000000"
                    android:textSize="40sp" />
            </LinearLayout>

通过图形布局进行上述代码设计的结果是: enter image description here

但是,当我在真正的手机上运行时,它不会显示在中心: enter image description here

为什么文本没有显示在按钮的中心?

3 个答案:

答案 0 :(得分:1)

您可以看到play符号居中,但cirlerectangle不是。这是因为此sign不是此字体的居中符号。 (尝试突出显示&#34;■&#34;此标志在您的浏览器中,并且看到底部的空间小于顶部的空间)

请改用图片。

答案 1 :(得分:0)

最好使用相同尺寸的图像而不是特殊的charz。还尝试用灰色bg颜色而不是按钮声明可点击的TextView,看看会发生什么:

 <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:gravity="center"
                android:orientation="horizontal" >

                <TextView
                    android:clickable="true"
                    android:id="@+id/btnRecord"
                    android:layout_width="90dp"
                    android:layout_height="80dp"
                    android:gravity="center"
                    android:text="●"
                    android:textColor="#C63E3B"
                    android:textSize="40sp" />

                <TextView
                    android:clickable="true"
                    android:id="@+id/btnPlay"
                    android:layout_width="90dp"
                    android:layout_height="80dp"
                    android:gravity="center"
                    android:text="▶"
                    android:textColor="#000000"
                    android:textSize="40sp" />

                <TextView
                    android:clickable="true"
                    android:id="@+id/btnS"
                    android:layout_width="90dp"
                    android:layout_height="80dp"
                    android:gravity="center"
                    android:text="■"
                    android:textColor="#000000"
                    android:textSize="40sp" />
            </LinearLayout>

你也可以使用xml中声明的drawables形状来制作圆形,矩形等。

答案 2 :(得分:0)

我的猜测是你的“播放”按钮与其他两个按钮位于不同的drawable文件夹中,因为它看起来要小一些。试着检查一下。