【问题标题】:Rows don't render properly in Android Layout. Buttons seem to be the problem行无法在 Android 布局中正确呈现。按钮似乎是问题
【发布时间】:2011-09-04 11:53:37
【问题描述】:

我是 Android 开发的新手,我的 XML 布局有问题...当我只有带有文本和编辑文本的行时,布局保持正常,但是一旦我放置带有按钮的行,下面的行就会消失屏幕和行彼此分开渲染......我做错了什么?

我的应用程序的 iPhone 版本显示了我想要实现的布局...

http://itunes.apple.com/br/app/my-food-calc/id385519343?mt=8

非常感谢!

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:src="@drawable/myfoodcalculatortitle00" 
    android:paddingBottom="15dip"></ImageView>

<TableLayout 
    android:id="@+id/tableLayout1" 
    android:layout_height="wrap_content" 
    android:background="@drawable/backgroundsmallobj" 
    android:layout_width="wrap_content" 
    android:layout_gravity = "center"
    android:layout_span="2"
    android:paddingLeft="25px" 
    android:paddingRight="25px" 
    android:stretchColumns="0" 
    android:layout_marginLeft="10px" 
    android:layout_marginRight="10px" 
    android:layout_marginBottom="10px">

    <TableRow android:paddingTop="5px" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/fatRow">
        <TextView android:layout_weight="1" android:layout_width="0dip" android:layout_height="wrap_content" android:id="@+id/textView1" android:text="Fat" android:gravity="right" android:paddingRight="3dip"></TextView>
        <EditText android:layout_weight="1" android:layout_width="0dip" android:minWidth="80px" android:id="@+id/editText1" android:layout_height="wrap_content" android:maxLines="1" android:hint="Fat" android:inputType="numberDecimal" android:gravity="right"></EditText>
    </TableRow>
    <TableRow  android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/carboRow">
        <TextView android:layout_weight="1" android:layout_width="0dip" android:layout_height="wrap_content" android:id="@+id/TextView01"  android:text="carbo" android:gravity="right" android:paddingRight="3dip"></TextView>
        <EditText android:layout_weight="1" android:layout_width="0dip" android:minWidth="80px" android:id="@+id/EditText01" android:layout_height="wrap_content" android:maxLines="1"  android:hint="carbo" android:inputType="numberDecimal" android:gravity="right"></EditText>
    </TableRow>
    <TableRow android:layout_width="wrap_content" android:id="@+id/fiberRow" android:layout_height="wrap_content">
        <TextView android:layout_weight="1" android:layout_width="0dip"  android:id="@+id/TextView02"  android:text="fiber" android:gravity="right" android:paddingRight="3dip"></TextView>
        <EditText android:layout_weight="1" android:layout_width="0dip" android:minWidth="80px" android:id="@+id/EditText02" android:maxLines="1"  android:hint="fiber" android:inputType="numberDecimal" android:gravity="right"></EditText>
    </TableRow>
    <TableRow android:layout_width="wrap_content" android:id="@+id/proteinRow" android:layout_height="wrap_content">
        <TextView android:layout_weight="1" android:layout_width="0dip"  android:id="@+id/TextView03"  android:text="protein" android:gravity="right" android:paddingRight="3dip"></TextView>
        <EditText android:layout_weight="1" android:layout_width="0dip" android:minWidth="80px" android:id="@+id/EditText03"  android:maxLines="1"  android:hint="protein" android:inputType="numberDecimal" android:gravity="right"></EditText>
    </TableRow>
    <TableRow android:layout_width="wrap_content" android:id="@+id/buttonRow" android:layout_height="wrap_content">
        <ImageButton android:layout_weight="1" android:layout_width="0dip" android:id="@+id/imageButton1" android:src="@drawable/calcbuttonbluesquare"></ImageButton>
        <ImageButton android:layout_weight="1" android:layout_width="0dip" android:id="@+id/imageButton2"  android:src="@drawable/clearbuttonbluesquare"></ImageButton>
    </TableRow>
    <TableRow  android:layout_width="wrap_content" android:id="@+id/totalRow" android:layout_height="wrap_content">
        <TextView android:layout_weight="1" android:layout_height="wrap_content" android:id="@+id/TextView04" android:layout_width="0dip" android:text="TOTAL"></TextView>
        <EditText android:layout_weight="1" android:minWidth="80px" android:id="@+id/EditText04"  android:text="EditText" android:maxLines="1" android:inputType="numberDecimal" android:layout_width="0dip" android:hint="protein"></EditText>
    </TableRow>
</TableLayout>

【问题讨论】:

    标签: android android-linearlayout tablelayout imagebutton


    【解决方案1】:

    您确定已将可绘制对象 @calbuttonbluesquare 和 clearbuttonbluesquare 添加到您的列表中吗?另外,它们应该在supported format?尝试将每个按钮放在它自己的视图上作为测试,以确保它首先正确显示。

    【讨论】:

    • 我按照您的建议对其进行了审核...它们是兼容的 PNG,已添加到可绘制对象中,它们已经出现在图形布局窗口中...但是在模拟器或硬件上运行时出现问题。 ..
    • @Soleil:你有机会发一张它的截图吗?
    • 我对 Android 开发还很陌生,所以一旦我知道如何去做,我就会
    • @Soleil:两种方式,要么直接截取整个模拟器,要么使用 Eclipse 中的 DDMS 选项卡(设备,顶部有一个截屏图标)
    • 谢谢....我正在从头开始重做一切,我在设备上运行我所做的每一次修改,到目前为止,非常好...慢得令人痛苦...我将发布前后截图,与 iPhone 屏幕截图的比较,希望能找出有效的 XML 和无效的 XML 之间的区别...谢谢大家...
    【解决方案2】:

    我想你要么需要

    1. 将您的TableLayoutlayout_heightlayout_width 设置为fill_parent,或
    2. TableLayout 包裹在ScrollView 中。

    我可能错了,因为我对TableLayouts 不是很熟悉,但这些只是我的猜测。

    【讨论】:

    • 从头开始重做整个 XML... 仍然不确定是什么导致了问题,但可行的方法是:
    【解决方案3】:

    我知道是什么让我的 XML 文件正常工作...但是,使用 DIP 作为度量而不是像素似乎有所不同... 用于检查的修改代码发布在这里。我本来打算附上最终产品的截图,我没有不工作版本的截图,但我的声誉还不够高。

    代码:

            <TableRow android:layout_height="fill_parent" android:layout_width="wrap_content" android:id="@+id/fatRow" >
                <TextView android:layout_column="0" android:layout_weight="1" android:layout_height="wrap_content" android:id="@+id/textView1" android:layout_width="wrap_content" android:text="fat" android:layout_gravity="center_vertical|right" android:gravity="right" android:layout_marginRight="5dip" android:textColor="#FFFFFF"></TextView>
                <EditText android:layout_column="1" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="5dip" android:hint="fat" android:gravity="right" android:id="@+id/fatEditText" android:inputType="numberDecimal"></EditText>
            </TableRow>
    
            <TableRow android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/carboRow">
                <TextView android:layout_column="0" android:layout_weight="1" android:layout_height="wrap_content" android:id="@+id/textView3" android:layout_width="wrap_content" android:text="carbo" android:layout_gravity="center_vertical|right" android:gravity="right" android:layout_marginRight="5dip" android:textColor="#FFFFFF"></TextView>
                <EditText android:layout_column="1" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="5dip" android:hint="carbo" android:gravity="right" android:id="@+id/carboEditText" android:inputType="numberDecimal"></EditText>
            </TableRow>
    
            <TableRow android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/fiberRow">
                <TextView android:layout_column="0" android:layout_weight="1" android:layout_height="wrap_content" android:id="@+id/textView4" android:layout_width="wrap_content" android:text="fiber" android:layout_gravity="center_vertical|right" android:gravity="right" android:layout_marginRight="5dip" android:textColor="#FFFFFF"></TextView>
                <EditText android:layout_column="1" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="5dip" android:hint="fiber" android:gravity="right" android:id="@+id/fiberEditText" android:inputType="numberDecimal"></EditText>
            </TableRow>
    
            <TableRow android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/proteinRow">
                <TextView android:layout_column="0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView5" android:layout_weight="1" android:text="protein" android:layout_gravity="center_vertical|right" android:gravity="right" android:layout_marginRight="5dip" android:textColor="#FFFFFF"></TextView>
                <EditText android:layout_column="1" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="5dip" android:hint="protein" android:gravity="right" android:id="@+id/proteinEditText" android:inputType="numberDecimal" android:imeOptions="actionDone"></EditText>
            </TableRow>
    
            <TableRow android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/buttonRow" android:layout_margin="8dip">
                <ImageButton android:layout_column="0" android:background="@null" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/calcbuttonbluesquare" android:id="@+id/calcButton"></ImageButton>
                <ImageButton android:layout_column="1" android:background="@null" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/clearbuttonbluesquare" android:id="@+id/clearButton"></ImageButton>
            </TableRow>
    
            <TableRow android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/totalRow">
                <TextView android:layout_column="0" android:layout_weight="1" android:layout_height="wrap_content" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_gravity="center_vertical|right" android:gravity="right" android:text="TOTAL" android:layout_marginRight="5dip" android:textColor="#FFFFFF"></TextView>
                <TextView android:layout_column="1" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginLeft="5dip" android:background="@null" android:gravity="left|right" android:textColor="#FFFFFF" android:clickable="false" android:inputType="none|numberDecimal" android:id="@+id/totalTextView"></TextView>
            </TableRow>
    
        </TableLayout>
        </LinearLayout>
    

    【讨论】:

      猜你喜欢
      • 2018-05-14
      • 2020-01-10
      • 2019-08-23
      • 2022-06-23
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 2021-07-16
      相关资源
      最近更新 更多