首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >故障定位布局到tic tac脚趾应用程序-从屏幕上掉下来

故障定位布局到tic tac脚趾应用程序-从屏幕上掉下来
EN

Stack Overflow用户
提问于 2016-06-29 10:57:09
回答 2查看 129关注 0票数 3

我是安卓开发的新手。上个月我在乌达上上了一门乞丐课。我在正确定位我的布局有问题,因为总有一些东西是不显示在屏幕和不同的设备上,它看起来总是不同的,我根本不使用特定的尺寸。在我的抽搐-战术-脚趾游戏中,我在十字和圆圈的九个字段中使用按钮。我已经尝试了几乎所有这些布局,我需要你的帮助,因为我必须做好准备,直到7月11日的项目。谢谢。这是整个代码,因为我认为问题不能解决,否则。

代码语言:javascript
运行
复制
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:theme="@style/PurpleTheme"
    android:background="@drawable/background_1a"
    tools:context="com.example.android.tictactoe.MainActivity"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="7">

<LinearLayout
    android:id="@+id/general_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:orientation="vertical"
    android:weightSum="6">

    <ImageView
        android:id="@+id/logo"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_margin="5dp"
        android:src="@drawable/logo_white"/>

    <!-- UP-->
    <LinearLayout
        android:layout_gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        android:weightSum="3"
        android:orientation="vertical"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:layout_weight="1"
            android:weightSum="3">

            <Button
                android:id="@+id/top_left_btn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_marginBottom="1dp"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp"
                android:layout_marginTop="1dp"
                android:enabled="true"
                android:textColor="#5d178f"
                android:textColorHighlight="#f1c918"
                android:textSize="64sp"
                android:layout_weight="1" />

            <Button
                android:id="@+id/top_centre_btn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_marginBottom="1dp"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp"
                android:layout_marginTop="1dp"
                android:enabled="true"
                android:textColor="#5d178f"
                android:textColorHighlight="#f1c918"
                android:textSize="64sp"
                android:layout_weight="1" />

            <Button
                android:id="@+id/top_right_btn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_marginBottom="1dp"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp"
                android:layout_marginTop="1dp"
                android:enabled="true"
                android:textColor="#5d178f"
                android:textColorHighlight="#f1c918"
                android:textSize="64sp"
                android:layout_weight="1" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:layout_weight="1"
            android:weightSum="3">

            <Button
                android:id="@+id/middle_left_btn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_marginBottom="1dp"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp"
                android:layout_marginTop="1dp"
                android:enabled="true"
                android:textColor="#5d178f"
                android:textColorHighlight="#f1c918"
                android:textSize="64sp"
                android:layout_weight="1" />

            <Button
                android:id="@+id/middle_centre_btn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_marginBottom="1dp"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp"
                android:layout_marginTop="1dp"
                android:enabled="true"
                android:textColor="#5d178f"
                android:textColorHighlight="#f1c918"
                android:textSize="64sp"
                android:layout_weight="1" />

            <Button
                android:id="@+id/middle_right_btn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_marginBottom="1dp"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp"
                android:layout_marginTop="1dp"
                android:enabled="true"
                android:textColor="#5d178f"
                android:textColorHighlight="#f1c918"
                android:textSize="64sp"
                android:layout_weight="1" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:layout_weight="1"
            android:weightSum="3">

            <Button
                android:id="@+id/bottom_left_btn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_marginBottom="1dp"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp"
                android:layout_marginTop="1dp"
                android:enabled="true"
                android:textColor="#5d178f"
                android:textColorHighlight="#f1c918"
                android:textSize="64sp"
                android:layout_weight="1" />

            <Button
                android:id="@+id/bottom_centre_btn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_marginBottom="1dp"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp"
                android:layout_marginTop="1dp"
                android:enabled="true"
                android:textColor="#5d178f"
                android:textColorHighlight="#f1c918"
                android:textSize="64sp"
                android:layout_weight="1" />

            <Button
                android:id="@+id/bottom_right_btn"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="1dp"
                android:layout_marginBottom="1dp"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp"
                android:layout_marginTop="1dp"
                android:enabled="true"
                android:textColor="#5d178f"
                android:textColorHighlight="#f1c918"
                android:textSize="64sp"
                android:layout_weight="1" />
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:weightSum="2"
        android:orientation="horizontal">

        <!-- Player X-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1">

        <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:gravity="center_horizontal"
                android:id="@+id/nameOfPlayerX"
                android:paddingTop="0dp"
                android:textSize="22sp"
                android:fontFamily="sans-serif-light"
                android:textIsSelectable="false"
                android:hint="Player X"
                android:textColorHint="#FFFFFF"
                android:inputType="textFilter"
                android:maxLength="15"
                />
        <TextView
            android:id="@+id/player_x_score"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:textSize="56sp"
            android:textColor="#FFFFFF"
            android:fontFamily="sans-serif-light"
            android:text="0" />

    </LinearLayout>

        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@android:color/darker_gray"
            android:layout_centerInParent="true"/>

        <!-- Player O-->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fontFamily="sans-serif-light"
                android:gravity="center_horizontal"
                android:textColor="#ffffff"
                android:id="@+id/nameOfPlayerO"
                android:paddingTop="0dp"
                android:textSize="22sp"
                android:hint="Player O"
                android:textColorHint="#FFFFFF"
                android:inputType="textFilter"
                android:maxLength="15"
                />
            <TextView
                android:id="@+id/player_o_score"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal"
                android:layout_marginBottom="0dp"
                android:layout_marginTop="0dp"
                android:textSize="56sp"
                android:textColor="#FFFFFF"
                android:fontFamily="sans-serif-light"
                android:text="0" />

        </LinearLayout>
    </LinearLayout>

</LinearLayout>
    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_weight="1"
        android:layout_height="0dp"
        android:text="Reset Score"
        android:id="@+id/reset_btn"
        android:layout_gravity="center_horizontal"
        android:longClickable="true"
        android:onClick="reset"
        android:layout_alignParentBottom="true"
        />
    <!-- not sure about that longClicable -->
    <!--end of the bottom part for the players' names and score -->
</RelativeLayout>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-29 12:07:50

如果您想要均匀地分配权重布局,那么您的父级必须是一个RelativeLayout. LinearLayout,权重不适用于我已经对你的布局做了必要的修改,这样它的间距就会均匀了。请仔细看看权重是如何分配的。希望能帮上忙。还可以尝试KDeogharkar的答案,因为这会更有效,因为嵌套权重不利于性能

代码语言:javascript
运行
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:theme="@style/PurpleTheme"
    android:background="@drawable/background_1a"
    tools:context="com.example.android.tictactoe.MainActivity"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:id="@+id/general_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerInParent="true"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="6">

        <ImageView
            android:id="@+id/logo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_margin="5dp"
            android:layout_gravity="center"
            android:src="@drawable/logo_white"/>

        <!-- UP-->
        <LinearLayout
            android:layout_gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:weightSum="3"
            android:orientation="vertical"
            android:gravity="center"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="16dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal"
                android:layout_weight="1"
                android:weightSum="3">

                <Button
                    android:id="@+id/top_left_btn"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="1dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:layout_marginTop="1dp"
                    android:enabled="true"
                    android:textColor="#5d178f"
                    android:textColorHighlight="#f1c918"
                    android:textSize="64sp"
                    android:layout_weight="1" />

                <Button
                    android:id="@+id/top_centre_btn"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="1dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:layout_marginTop="1dp"
                    android:enabled="true"
                    android:textColor="#5d178f"
                    android:textColorHighlight="#f1c918"
                    android:textSize="64sp"
                    android:layout_weight="1" />

                <Button
                    android:id="@+id/top_right_btn"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="1dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:layout_marginTop="1dp"
                    android:enabled="true"
                    android:textColor="#5d178f"
                    android:textColorHighlight="#f1c918"
                    android:textSize="64sp"
                    android:layout_weight="1" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal"
                android:layout_weight="1"
                android:weightSum="3">

                <Button
                    android:id="@+id/middle_left_btn"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="1dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:layout_marginTop="1dp"
                    android:enabled="true"
                    android:textColor="#5d178f"
                    android:textColorHighlight="#f1c918"
                    android:textSize="64sp"
                    android:layout_weight="1" />

                <Button
                    android:id="@+id/middle_centre_btn"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="1dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:layout_marginTop="1dp"
                    android:enabled="true"
                    android:textColor="#5d178f"
                    android:textColorHighlight="#f1c918"
                    android:textSize="64sp"
                    android:layout_weight="1" />

                <Button
                    android:id="@+id/middle_right_btn"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="1dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:layout_marginTop="1dp"
                    android:enabled="true"
                    android:textColor="#5d178f"
                    android:textColorHighlight="#f1c918"
                    android:textSize="64sp"
                    android:layout_weight="1" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal"
                android:layout_weight="1"
                android:weightSum="3">

                <Button
                    android:id="@+id/bottom_left_btn"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="1dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:layout_marginTop="1dp"
                    android:enabled="true"
                    android:textColor="#5d178f"
                    android:textColorHighlight="#f1c918"
                    android:textSize="64sp"
                    android:layout_weight="1" />

                <Button
                    android:id="@+id/bottom_centre_btn"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="1dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:layout_marginTop="1dp"
                    android:enabled="true"
                    android:textColor="#5d178f"
                    android:textColorHighlight="#f1c918"
                    android:textSize="64sp"
                    android:layout_weight="1" />

                <Button
                    android:id="@+id/bottom_right_btn"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_margin="1dp"
                    android:layout_marginBottom="1dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginRight="1dp"
                    android:layout_marginTop="1dp"
                    android:enabled="true"
                    android:textColor="#5d178f"
                    android:textColorHighlight="#f1c918"
                    android:textSize="64sp"
                    android:layout_weight="1" />
            </LinearLayout>

        </LinearLayout>



    </LinearLayout>
    <LinearLayout
        android:id="@+id/players_scoreboard"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:weightSum="2"
        android:layout_above="@+id/reset_btn"
        android:orientation="horizontal">

        <!-- Player X-->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="1">

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:gravity="center_horizontal"
                android:id="@+id/nameOfPlayerX"
                android:paddingTop="0dp"
                android:textSize="22sp"
                android:fontFamily="sans-serif-light"
                android:textIsSelectable="false"
                android:hint="Player X"
                android:textColorHint="#FFFFFF"
                android:inputType="textFilter"
                android:maxLength="15"
                />
            <TextView
                android:id="@+id/player_x_score"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal"
                android:textSize="56sp"
                android:textColor="#FFFFFF"
                android:fontFamily="sans-serif-light"
                android:text="0" />

        </LinearLayout>

        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@android:color/darker_gray"
            android:layout_centerInParent="true"/>

        <!-- Player O-->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fontFamily="sans-serif-light"
                android:gravity="center_horizontal"
                android:textColor="#ffffff"
                android:id="@+id/nameOfPlayerO"
                android:paddingTop="0dp"
                android:textSize="22sp"
                android:hint="Player O"
                android:textColorHint="#FFFFFF"
                android:inputType="textFilter"
                android:maxLength="15"
                />
            <TextView
                android:id="@+id/player_o_score"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal"
                android:layout_marginBottom="0dp"
                android:layout_marginTop="0dp"
                android:textSize="56sp"
                android:textColor="#FFFFFF"
                android:fontFamily="sans-serif-light"
                android:text="0" />

        </LinearLayout>

    </LinearLayout>
    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_weight="1"
        android:layout_height="0dp"
        android:text="Reset Score"
        android:id="@+id/reset_btn"
        android:layout_gravity="center"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:longClickable="true"
        android:onClick="reset" />
    <!-- not sure about that longClicable -->
    <!--end of the bottom part for the players' names and score -->
</LinearLayout>
票数 1
EN

Stack Overflow用户

发布于 2016-06-29 11:18:10

使用不同维度xml定义大小,并相应地将其放在values文件夹中。http://android4beginners.com/2013/07/appendix-c-everything-about-sizes-and-dimensions-in-android/

代码语言:javascript
运行
复制
values-sw720dp          10.1” tablet 1280x800 mdpi

values-sw600dp          7.0”  tablet 1024x600 mdpi

values-sw480dp          5.4”  480x854 mdpi 
values-sw480dp          5.1”  480x800 mdpi 

values-xhdpi            4.7”   1280x720 xhdpi 
values-xhdpi            4.65”  720x1280 xhdpi 

values-hdpi             4.0” 480x800 hdpi
values-hdpi             3.7” 480x854 hdpi

values-mdpi             3.2” 320x480 mdpi

values-ldpi             3.4” 240x432 ldpi
values-ldpi             3.3” 240x400 ldpi
values-ldpi             2.7” 240x320 ldpi

为不同的值添加dimens.xml

例如

代码语言:javascript
运行
复制
<!-- phones -->
    <dimen name="title_size">24sp</dimen>
    <dimen name="button_width">64dp</dimen>

 <!-- small tablets -->
    <dimen name="title_size">32sp</dimen>
    <dimen name="button_width">80dp</dimen>

<!-- big tablets -->
    <dimen name="title_size">48sp</dimen>
    <dimen name="button_width">128dp</dimen>

最后一件事是添加滚动视图作为父视图,这样您就可以确保用户至少滚动视图,如果它在某个设备中部分显示您的视图。

希望这能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38097587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档