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

<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>发布于 2016-06-29 12:07:50
如果您想要均匀地分配权重布局,那么您的父级必须是一个RelativeLayout. LinearLayout,权重不适用于我已经对你的布局做了必要的修改,这样它的间距就会均匀了。请仔细看看权重是如何分配的。希望能帮上忙。还可以尝试KDeogharkar的答案,因为这会更有效,因为嵌套权重不利于性能。
<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>发布于 2016-06-29 11:18:10
使用不同维度xml定义大小,并相应地将其放在values文件夹中。http://android4beginners.com/2013/07/appendix-c-everything-about-sizes-and-dimensions-in-android/
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
例如
<!-- 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>最后一件事是添加滚动视图作为父视图,这样您就可以确保用户至少滚动视图,如果它在某个设备中部分显示您的视图。
希望这能帮上忙
https://stackoverflow.com/questions/38097587
复制相似问题