簡體   English   中英

LinearLayout將TextView推出屏幕

[英]LinearLayout pushing TextView out of the screen

我剛開始接觸Android應用程序,因此遇到了一些問題。

我有一個帶有2個ImageButtons的LinearLayout,另一個是頂部帶有TextView的LinearLayout,您可以在此處看到-

看起來很漂亮

但是,我試圖添加另一個LinearLayout來添加更多內容,但是它開始將我的“歡迎”消息推出屏幕

我添加了另一個LinearLayout,並且發生了

這是屏幕的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>

我看過其他問題,但是它們在設置布局方面似乎有很大不同,並且包含更多元素。

為什么將歡迎消息推出? 我在這里做錯了什么?

也可以隨時檢查任何內容。 我犯的錯誤越多越好

嘗試這個

<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>

android_height和android_width屬性可以告訴屏幕如何渲染,您的歡迎消息具有fill_parent屬性,該屬性基本上告訴它應該在整個屏幕上散布,更改以包裝內容,無論哪種方式,現在的高度和寬度給它的概率大於屏幕尺寸,並且還有一個壞習慣,因為它與7300+不同的Android手機不匹配,作為經驗法則,應將這些尺寸保留在xml中。 要了解更多有關內容,請閱讀本文

如果可能的話,請嘗試為Welcome TextView設置一個固定的高度。

例如: android:layout_height="65dp"

在這部分代碼(第二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"

還要從最后的LinearLayout刪除android:paddingBottom="300dp"

這將使它顯示出來,但是您經常使用硬編碼的dp值,因為您必須迎合許多不同的屏幕尺寸,所以這從來都不是一個好習慣。

嘗試從第二個LinearLayout刪除以下LOC。 即: ScrollView之后的LinearLayout

android:layout_gravity="center"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM