我是 android 开发新手。上个月我在优达学城参加了初级类(class)。我在正确定位我的布局时遇到了麻烦,因为屏幕上总是有一些东西没有显示,而且在不同的设备上它看起来也不同,尽管我根本没有使用特定的尺寸。对于我的井字游戏,我使用按钮来表示九个区域的十字和圆圈。我已经用这些布局尝试了几乎所有的东西,我需要你的帮助,因为我必须在 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>
最佳答案
如果你想用权重均匀分布布局,那么你的父级必须是 LinearLayout,权重不适用于 RelativeLayout。我已经对您的布局进行了必要的更改,以使其间距均匀。请仔细看看权重是如何分配的。希望能帮助到你。也试试 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>
关于android - 将布局定位到井字游戏应用程序时出现问题 - 从屏幕上掉下来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38097587/
我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file
是否可以为特定(或所有)项目使用多个布局?例如,我有几个项目,我想对其应用两种不同的布局。一个是绿色的,一个是蓝色的(但是)。我想将它们编译到我的输出目录中的两个不同文件夹中(例如v1和v2)。我一直在玩弄规则和编译block,但我不知道这是怎么回事。因为,每个项目在编译过程中只编译一次,我不能告诉nanoc第一次用layout1编译,第二次用layout2编译。我试过这样的东西,但它导致输出文件损坏。compile'*'doifitem.binary?#don’tfilterbinaryitemselsefilter:erblayout'layout1'layout'layout2'
相信很多人在录制视频的时候都会遇到各种各样的问题,比如录制的视频没有声音。屏幕录制为什么没声音?今天小编就和大家分享一下如何录制音画同步视频的具体操作方法。如果你有录制的视频没有声音,你可以试试这个方法。 一、检查是否打开电脑系统声音相信很多小伙伴在录制视频后会发现录制的视频没有声音,屏幕录制为什么没声音?如果当时没有打开音频录制,则录制好的视频是没有声音的。因此,建议在录制前进行检查。屏幕上没有声音,很可能是因为你的电脑系统的声音被禁止了。您只需打开电脑系统的声音,即可录制音频和图画同步视频。操作方法:步骤1:点击电脑屏幕右下侧的“小喇叭”图案,在上方的选项中,选择“声音”。 步骤2:在“声
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
我正在使用Postgres.app在OSX(10.8.3)上。我已经修改了我的PATH,以便应用程序的bin文件夹位于所有其他文件夹之前。Rammy:~phrogz$whichpg_config/Applications/Postgres.app/Contents/MacOS/bin/pg_config我已经安装了rvm并且可以毫无错误地安装pggem,但是当我需要它时我得到一个错误:Rammy:~phrogz$gem-v1.8.25Rammy:~phrogz$geminstallpgFetching:pg-0.15.1.gem(100%)Buildingnativeextension
我最近对我的计算机(OS-MacOSX10.6.8)进行了删除,并且我正在重新安装我所有的开发工具。我再次安装了RVM;但是,它不会让我安装Ruby1.9.3。到目前为止我已经尝试过:rvminstall1.9.3rvm安装1.9.3-p194rvm安装1.9.3-p448rvminstall1.9.3--with-gcc=clang所有返回相同的命令行错误:Searchingforbinaryrubies,thismighttakesometime.Nobinaryrubiesavailablefor:osx/10.6/x86_64/ruby-1.9.3-p448.Continuin
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我正在尝试为我的iOS应用程序设置cocoapods但是当我执行命令时:sudogemupdate--system我收到错误消息:当前已安装最新版本。中止。当我进入cocoapods的下一步时:sudogeminstallcocoapods我在MacOS10.8.5上遇到错误:ERROR:Errorinstallingcocoapods:cocoapods-trunkrequiresRubyversion>=2.0.0.我在MacOS10.9.4上尝试了同样的操作,但出现错误:ERROR:Couldnotfindavalidgem'cocoapods'(>=0),hereiswhy:U