我对Android应用开发相当新,我遇到了一些问题。
我有一个带有2个ImageButtons的LinearLayout和另一个带有TextView的LinearLayout,如你所见 -
但是,我尝试添加另一个LinearLayout以添加更多内容,但它开始将我的欢迎消息推出屏幕
I add another LinearLayout and this happens
这里是屏幕的XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="0.6"
android:id="@+id/layout_home">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/scrollView"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:paddingLeft="0dp"
android:paddingRight="0dp"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:measureWithLargestChild="false"
android:longClickable="false">
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Welcome"
android:id="@+id/textView4"
android:textSize="60dp"
android:layout_weight="1"
android:layout_gravity="top"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="56dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:background="#5cfca1">
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:paddingRight="5dp">
<ImageButton
android:id="@+id/whatisit"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="0.5"/>
<ImageButton
android:id="@+id/contact"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="0.5"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:paddingBottom="300dp">
<ImageButton
android:id="@+id/howcanitreatit"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="0.5"/>
<ImageButton
android:id="@+id/disclaimer"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="0.5"
android:adjustViewBounds="false"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
已编辑:Styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
我已经查看了其他问题,但他们在设置布局方面似乎做了很多不同,并且有更多元素等等。
为什么要推出欢迎信息?我在这里做错了什么?
也可以随意仔细检查任何事情。我犯的错误越多越好
答案 0 :(得分:0)
试试这个
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:paddingLeft="0dp"
android:paddingRight="0dp"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:measureWithLargestChild="false"
android:longClickable="false">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Welcome"
android:id="@+id/textView4"
android:textSize="60dp"
android:layout_weight="1"
android:layout_gravity="top"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="56dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:background="#5cfca1">
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:paddingRight="5dp">
<ImageButton
android:id="@+id/whatisit"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="0.5"/>
<ImageButton
android:id="@+id/contact"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="0.5"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:paddingBottom="300dp">
<ImageButton
android:id="@+id/howcanitreatit"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="0.5"/>
<ImageButton
android:id="@+id/disclaimer"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:layout_weight="0.5"
android:adjustViewBounds="false"/>
</LinearLayout>
</LinearLayout>
答案 1 :(得分:0)
android_height和android_width属性是告诉屏幕如何渲染,你的欢迎消息有一个fill_parent属性,基本上告诉它它应该遍布整个屏幕,改变它以包装内容,无论是现在的高度你给它的宽度可能比屏幕尺寸大,也可能是一个坏习惯,因为它不会匹配7300+不同的Android手机,作为拇指规则,你应该将这些尺寸保持在xml。 要了解更多相关信息,请阅读this文章
答案 2 :(得分:0)
如果符合您的要求,请尝试为欢迎 TextView
设置固定高度。
例如:android:layout_height="65dp"
答案 3 :(得分:0)
在这部分代码中(第二LinearLayout
):
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:paddingLeft="0dp"
android:paddingRight="0dp"
>
取出:android:layout_gravity="center"
同时从上一个android:paddingBottom="300dp"
LinearLayout
这将使它显示,但是你使用的是硬编码dp
值很多,这绝不是一个很好的练习,因为你必须满足许多不同的屏幕尺寸。
答案 4 :(得分:0)
尝试从第二个LinearLayout
中删除以下LOC。即:LinearLayout
之后的ScrollView
。
android:layout_gravity="center"