Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 单击按钮时,按钮重力会发生变化_Android_Android Layout - Fatal编程技术网

Android 单击按钮时,按钮重力会发生变化

Android 单击按钮时,按钮重力会发生变化,android,android-layout,Android,Android Layout,我有一个有28个按钮的大桌子布局。(制作计算器) 无论如何,当单击其中一个按钮时,该按钮的重力,甚至同一行中的某些按钮都会发生变化,从而使文本与左端对齐 我不知道,这开始让我有点疯狂 这是布局图 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pa

我有一个有28个按钮的大桌子布局。(制作计算器) 无论如何,当单击其中一个按钮时,该按钮的重力,甚至同一行中的某些按钮都会发生变化,从而使文本与左端对齐

我不知道,这开始让我有点疯狂

这是布局图

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/LinearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/TableLayout1"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginBottom="10dp"
    android:background="#DDD"
    android:orientation="vertical" >

    <ScrollView
        android:background="#DDD"
        android:id="@+id/scrollView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <RelativeLayout
            android:id="@+id/RelativeLayout1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textViewInput"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#000" />

            <TextView
                android:id="@+id/textViewResult"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:layout_marginRight="5dp"
                android:gravity="right"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#000" />

        </RelativeLayout>
    </ScrollView>
</LinearLayout>

<TableLayout
    android:id="@+id/TableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" >

    <TableRow
        android:id="@+id/TableRow07"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:gravity="center_vertical"
        android:weightSum="5" >

        <Button
            android:id="@+id/Button06"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_root"
            android:textColor="@android:color/primary_text_light"
            android:gravity="center" />

        <Button
            android:id="@+id/bAsin"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:textColor="@android:color/primary_text_light"
            android:gravity="center" />

        <Button
            android:id="@+id/bAcos"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2" 
            android:gravity="center"/>

        <Button
            android:id="@+id/batan"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.4"
            android:gravity="center" />
    </TableRow>

    <TableRow
        android:id="@+id/TableRow06"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:weightSum="5" >

        <Button
            android:id="@+id/Button04"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_pi"
            android:textColor="@android:color/primary_text_light"
            android:gravity="center" />

        <Button
            android:id="@+id/Button03"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:text="@string/_sin"
            android:textColor="@android:color/primary_text_light" 
            android:gravity="center"/>

        <Button
            android:id="@+id/Button02"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_cos"
            android:gravity="center" />

        <Button
            android:id="@+id/Button01"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.4"
            android:text="@string/_tan" 
            android:gravity="center"/>
    </TableRow>

    <TableRow
        android:id="@+id/TableRow05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:weightSum="5" >

        <Button
            android:id="@+id/bPow"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_pow"
            android:textColor="@android:color/primary_text_light" 
            android:gravity="center"/>

        <Button
            android:id="@+id/blpar"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:text="@string/_lpar"
            android:textColor="@android:color/primary_text_light" 
            android:gravity="center"/>

        <Button
            android:id="@+id/brpar"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_rpar"
            android:gravity="center" />

        <Button
            android:id="@+id/bdiv"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.4"
            android:text="@string/_div"
            android:gravity="center" />
    </TableRow>

    <TableRow
        android:id="@+id/TableRow04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:weightSum="5" >

        <Button
            android:id="@+id/b7"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_7"
            android:textColor="@android:color/primary_text_light" 
            android:gravity="center"/>

        <Button
            android:id="@+id/b8"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:text="@string/_8"
            android:textColor="@android:color/primary_text_light" 
            android:gravity="center"/>

        <Button
            android:id="@+id/b9"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_9"
            android:gravity="center" />

        <Button
            android:id="@+id/bmul"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.4"
            android:text="@string/_times"
            android:textStyle="bold"
            android:gravity="center" />
    </TableRow>

    <TableRow
        android:id="@+id/TableRow03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:weightSum="5" >

        <Button
            android:id="@+id/b4"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_4"
            android:textColor="@android:color/primary_text_light"
            android:gravity="center" />

        <Button
            android:id="@+id/b5"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:text="@string/_5"
            android:textColor="@android:color/primary_text_light"
            android:gravity="center" />

        <Button
            android:id="@+id/b6"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_6"
            android:gravity="center" />

        <Button
            android:id="@+id/bsub"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.4"
            android:text="@string/_minus" 
            android:gravity="center"/>
    </TableRow>

    <TableRow
        android:id="@+id/TableRow02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:weightSum="5" >

        <Button
            android:id="@+id/b1"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_1"
            android:textColor="@android:color/primary_text_light" 
            android:gravity="center"/>

        <Button
            android:id="@+id/b2"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:text="@string/_2"
            android:textColor="@android:color/primary_text_light"
            android:gravity="center" />

        <Button
            android:id="@+id/b3"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_3" 
            android:gravity="center"/>

        <Button
            android:id="@+id/badd"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.4"
            android:text="@string/_plus" 
            android:gravity="center"/>
    </TableRow>

    <TableRow
        android:id="@+id/TableRow01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:weightSum="5" >

        <Button
            android:id="@+id/b0"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:text="@string/_0"
            android:textColor="@android:color/primary_text_light" 
            android:gravity="center"/>

        <Button
            android:id="@+id/bPoint"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:gravity="center"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:text="@string/dot"
            android:textColor="@android:color/primary_text_light" />

        <Button
            android:id="@+id/bClear"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.2"
            android:gravity="center"
            android:text="@string/clear" />

        <Button
            android:id="@+id/bEnter"
            style="@style/white_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:layout_weight="1.4"
            android:text="@string/enter" />

        </TableRow>

    </TableLayout>
</RelativeLayout>

有人知道怎么回事吗?我不是通过代码触摸按钮,只是检查id以知道单击了哪个按钮。没什么了,没有改变重力

编辑

哦,是的,我忘了白色的款式。我很确定不是这样的,因为我不知道它为什么会这样

    <?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true" >
    <shape android:shape="rectangle">
        <corners android:radius="0dp"/>
        <gradient android:startColor="#a8a8a8" android:endColor="#c8c8c8" android:angle="270"></gradient>
    </shape>
</item>

<item android:state_focused="true" >
    <shape>
        <solid android:color="#DDDDDD" />
     </shape>
 </item>



    <item>
        <shape android:shape="rectangle" >
        <corners android:radius="0dp"/>
        <solid android:color="#c8c8c8"/>
        </shape>
     </item>
</selector>

我知道我参加聚会迟到了5年,但即使在奥利奥,这仍然是一个相当令人费解的错误

对我来说,这只是偶尔发生的(我有另一个应用程序,在“片段a和片段B并排在同一屏幕上的情况”中有完全相同的布局,这不是问题)

当我将表格布局放在一个屏幕上并单击一个按钮(更新表格上方的
TextView
)时,按钮的重力会自行改变,不会再改变


我的解决方案(这当然是一个黑客程序,但它是有效的)是
表格布局
包装在
框架布局
中,而
文本视图
我在它自己的
框架布局
中更新。这必须迫使Android跳过重新显示表格的尝试,因为它们是独立的框架。

我在您发布的代码中没有看到任何与您描述的行为一致的内容,但您的代码确实包含对某些样式的引用。你也可以发布这些吗?我在我的移动设备中尝试了你的代码,只是删除了样式,效果很好,当点击按钮时按钮的重力不会改变。我发布了样式,但我不认为有什么奇怪的地方。我想我现在已经缩小了问题的范围。我试着在我的onClick中注释代码,问题就消失了。所以那里发生了一些奇怪的事情。我要重构代码,因为它非常混乱。我有一个类似的问题,只发生在720p屏幕的设备上。你找到解决这个问题的办法了吗?