我的布局有困难。
作为我的第一个开发项目,我正在尝试制作一个简单的计时器。 我想在背景中有一个天文台的图片以及开始和停止按钮 在应用程序的底部,并排并填充屏幕的宽度。
这是我最好的镜头,但我不满意。
所有小部件都放置正确,但...... 我的背景是拉伸的,我的按钮看起来是垂直压缩的,即使底部的文字有点裁剪。
我发现如果我改变这些行
android:layout_width="fill_parent"
android:layout_height="fill_parent"
通过
android:layout_width="wrap_content"
android:layout_height="wrap_content"
背景还可以,按钮也是..但所有小部件都放在活动的中心。
我该如何解决这个问题?
顺便说一句,如果我想并排按钮,我选择了更好的解决方案吗?
感谢您的帮助! 查尔斯。
...现在我的xml ....
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/background"
tools:context=".Chronosv1" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="2" >
<Chronometer
android:id="@+id/chronometer1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1" >
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="50"
android:text="START" />
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="50"
android:text="STOP" />
</LinearLayout>
我试过relativeLayout。 我不知道如何在不使用填充的情况下使用相同大小的两个按钮,如果您希望您的应用程序在不同的屏幕上运行,我认为这不是一个好主意。
无论如何我想出了这个,但我仍然有拉链图像,而且我的按钮尺寸不一样。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
tools:context=".Chronosv1" >
<Chronometer
android:id="@+id/chronometer1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Start" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/button1"
android:text="Stop" />
答案 0 :(得分:0)
尝试RelativeLayout;)我认为这比LinearLayout更容易处理。也许你可以上传一张图片,它会给你一个相对布局的解决方案;)
答案 1 :(得分:0)
你可以尝试一下吗?应该工作IMO。 这是获得布局的更好/万无一失的方法。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
tools:context=".Chronosv1" >
<LinearLayout
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2"
android:layout_alignParentBottom="true">
<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5dp"
android:text="Start" />
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5dp"
android:text="Stop" />
</LinearLayout>
<Chronometer
android:id="@+id/chronometer1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/layout1" />
</RelativeLayout>
答案 2 :(得分:0)
我终于找到了解决方案。
第一个问题:我的9补丁图片隐藏了我的其他组件。
解决方案:在你的linearlayout中添加 android:padding =“0dip” ...这里是给我答案的主题(Android layout broken with 9-patch background)
第二个问题:为什么我的照片是拉伸的,而我是按照屏幕的确切尺寸设计的。这是一个愚蠢的问题......这是因为动作栏和上面的另一个栏(带电池电量和其他东西)。
要删除这些栏(包含在主题中),请在清单中使用不同版本的主题。
我选择:Theme.Light.NoTitleBar.Fullscreen。
问题解决了。