【问题标题】:LinearLayout showing only ProgerssBar not TextViewLinearLayout 仅显示 ProgerssBar 而不是 TextView
【发布时间】:2016-11-09 17:03:04
【问题描述】:

我的 xml 中有一个 LinearLayout,其中包含 ProgressBar 和三个 TextView。

但是当我运行我的程序时,我只是让 ProgressBar 看不到我放置在 ProgressBar 布局中的 TextViews

这里是xml脚本:

<!--LinearLayout contains Progress Bar and TextView-->
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:orientation="vertical"
            android:background="#fff"
            android:layout_weight="2">

            <ProgressBar
                android:id="@+id/progressBar"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_centerInParent="true"
                android:max="500"
                android:progress="0"
                android:progressDrawable="@drawable/circular_progress" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="13"
                android:textStyle="bold"
                android:id="@+id/txt1"
                android:gravity="center"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="WEEKS TODAY"
                android:id="@+id/txt2"
                android:layout_marginTop="5dp"
                android:gravity="center"
                android:layout_below="@+id/txt1"
                android:layout_centerHorizontal="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="183 days to go"
                android:id="@+id/txt3"
                android:gravity="center"
                android:layout_centerHorizontal="true"
                android:layout_below="@+id/txt2"
                android:layout_alignRight="@+id/txt2"
                android:layout_alignEnd="@+id/txt2" />

        </LinearLayout>

这是完整的 main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation=    "vertical"
    android:layout_width=    "fill_parent"
    android:layout_height=    "fill_parent"    >

    <LinearLayout
        android:orientation=    "horizontal"
        android:layout_width=    "fill_parent"
        android:layout_height=    "fill_parent"
        android:layout_weight=    "1"    >

        <!--Profile Pic-->
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="2"
            android:background="#aa0000">

        </LinearLayout>


        <!--Previous Button-->
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:background="#000">

        </LinearLayout>


        <!--LinearLayout contains Progress Bar and TextViews-->
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:orientation="vertical"
            android:layout_weight="2">

            <ProgressBar
                android:id="@+id/progressBar"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_centerInParent="true"
                android:max="500"
                android:progress="0"
                android:progressDrawable="@drawable/circular_progress" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="13"
                android:textStyle="bold"
                android:id="@+id/txt1"
                android:gravity="center"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="WEEKS TODAY"
                android:id="@+id/txt2"
                android:layout_marginTop="5dp"
                android:gravity="center"
                android:layout_below="@+id/txt1"
                android:layout_centerHorizontal="true" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="183 days to go"
                android:id="@+id/txt3"
                android:gravity="center"
                android:layout_below="@+id/txt2"
                android:layout_alignRight="@+id/txt2"
                android:layout_alignEnd="@+id/txt2" />

        </LinearLayout>


        <!--Next Button-->
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:background="#000">

        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:orientation=    "vertical"
        android:layout_width=    "fill_parent"
        android:layout_height=    "fill_parent"
        android:layout_weight=    "1"
        android:background=       "#000">

    </LinearLayout>

</LinearLayout>

【问题讨论】:

  • 你的进度条占据了所有的布局android:layout_width="fill_parent" android:layout_height="fill_parent在你的进度条里把这个改成wrapcontent
  • @Raghunandan 是的,我希望我的 ProgressBar 占据相应 LinearLayout 的全部宽度和高度,因为我只想在进度条中显示 TextViews...

标签: android android-layout android-linearlayout


【解决方案1】:

如果您想在progressbar 下方显示您的文字,请将您的三个TextViews 作为ProgressBar 的兄弟姐妹放入另一个LinearLayout。如果您想在progressbar 中显示您的textviews,然后更改

 android:layout_height="fill_parent"

android:layout_height="wrap_content"

【讨论】:

    【解决方案2】:

    你应该将你的 textView 背景设置为透明,这样它才会显示出来。

    ...
               <ProgressBar
                    android:id="@+id/progressBar"
                    style="?android:attr/progressBarStyleHorizontal"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" // change to wrap_content
                    android:layout_centerInParent="true"
                    android:max="500"
                    android:progress="0"/>
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="13"
                    android:background="#FFFFFF"
                    android:textStyle="bold"
                    android:id="@+id/txt1"
                    android:gravity="center"
                    android:layout_centerVertical="true"
                    android:layout_centerHorizontal="true" />
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="WEEKS TODAY"
                    android:id="@+id/txt2"
                    android:layout_marginTop="5dp"
                    android:gravity="center"
                    android:layout_below="@+id/txt1"
                    android:layout_centerHorizontal="true" />
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="183 days to go"
                    android:id="@+id/txt3"
                    android:gravity="center"
                    android:layout_centerHorizontal="true"
                    android:layout_below="@+id/txt2"
                    android:layout_alignRight="@+id/txt2"
                    android:layout_alignEnd="@+id/txt2" />
    
            </LinearLayout>
    

    希望这可行,因为我设法查看了。

    【讨论】:

    • 试过没有成功
    • 你在类文件中设置了什么吗?
    • 这个解决方案对我有用:stackoverflow.com/a/28112828/2790257
    • 哈哈~注意了……把所有东西都放在FrameLayout里面也是另一种方式^^
    【解决方案3】:

    试试这个代码确定你会得到答案

      <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:orientation="vertical"
        android:background="#fff"
        >
    
        <ProgressBar
            android:id="@+id/progressBar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:max="500"
            android:progress="0"
            android:progressDrawable="@drawable/ic_launcher" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="13"
            android:textStyle="bold"
            android:id="@+id/txt1"
            android:gravity="center"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="WEEKS TODAY"
            android:id="@+id/txt2"
            android:layout_marginTop="5dp"
            android:gravity="center"
            android:layout_below="@+id/txt1"
            android:layout_centerHorizontal="true" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="183 days to go"
            android:id="@+id/txt3"
            android:gravity="center"
            android:layout_centerHorizontal= "true"
            android:layout_below=   "@+id/txt2"
            android:layout_alignRight=  "@+id/txt2"
            android:layout_alignEnd="@+id/txt2" />
    
    </LinearLayout>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      相关资源
      最近更新 更多