ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TableLayout中的按钮在Android 1.6和2.1(而非1.5或2.2)上裁剪

2019-10-09 14:27:50  阅读:218  来源: 互联网

标签:tablelayout android


我在2×2 TableLayout中安排了四个按钮.这些按钮的左侧分别有一个图像和一些文本.在1.5和2.2的仿真器中,这些按钮都可以正常显示,但是在使用1.6进行测试时,右列中的两个按钮会被裁剪,因此它们缺少其右边缘(缺少文本右侧的填充,并且该按钮突然以圆角而不是圆角结束). TableLayout有足够的扩展空间来容纳按钮的整个宽度.所有屏幕尺寸都会发生这种情况.

布局看起来像这样,它本身出现在RelativeLayout中:

<TableLayout android:id="@+id/buttons"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_centerHorizontal="true"
             android:layout_alignParentTop="true"
             android:paddingTop="10dp">
  <TableRow>
    <Button android:id="@+id/button1"
            style="@style/LaunchButton"
            android:drawableLeft="@drawable/button1"
            android:text="@string/button1"/>
    <Button android:id="@+id/button2"
            style="@style/LaunchButton"
            android:drawableLeft="@drawable/button2"
            android:text="@string/button2"/>
  </TableRow>
  <TableRow>
    <Button android:id="@+id/button3"
            style="@style/LaunchButton"
            android:drawableLeft="@drawable/button3"
            android:text="@string/button3"/>
    <Button android:id="@+id/button4"
            style="@style/LaunchButton"
            android:drawableLeft="@drawable/button4"
            android:text="@string/button4"/>
  </TableRow>
</TableLayout>

按钮的样式如下:

<style name="LaunchButton">
  <item name="android:layout_width">wrap_content</item>
  <item name="android:layout_height">wrap_content</item>
  <item name="android:gravity">fill_horizontal</item>
  <item name="android:textSize">24dp</item>
  <item name="android:textStyle">bold</item>
</style>

我假设这是一个1.6特定的错误.还有其他人遇到这个问题吗?有任何解决方法的建议吗?

编辑:我有机会在Android 2.1(在模拟器和设备上)上进行尝试,问题也发生在这里.所以1.5好,1.6好,2.1好,2.2好.

解决方法:

我在1.6和2.1上也遇到了相同的问题,但在1.5和2.2上都没有遇到.

我使用LineraLayout并设置其权重,然后使用TableLayout跳过该问题.

<LinearLayout
    android:orientation="horizontal" android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <LinearLayout android:layout_width="fill_parent"
        android:layout_weight="1" android:layout_height="wrap_content"
        android:gravity="center">
        <ImageButton
            android:layout_width="wrap_content" android:layout_height="wrap_content" />
    </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
        android:layout_weight="1" android:layout_height="wrap_content"
        android:gravity="center">
        <ImageButton
            android:layout_width="wrap_content" android:layout_height="wrap_content" />
    </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
        android:layout_weight="1" android:layout_height="wrap_content"
        android:gravity="center">
        <ImageButton
            android:layout_width="wrap_content" android:layout_height="wrap_content" />
    </LinearLayout>

标签:tablelayout,android
来源: https://codeday.me/bug/20191009/1879960.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有