如何正确显示RatingBar?

时间:2012-04-29 20:30:12

标签: android android-layout

我有一个tabLayout,其中main.xml:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@android:id/tabhost"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent">
<LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
    <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
    <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
    </FrameLayout>
</LinearLayout>
</TabHost>

问题标签:

<?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"
    >
<TextView
        android:id="@+id/if1"
        android:text="@string/aText"
        android:gravity="center_horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="3"
        android:visibility="visible"/>

<ImageView
        android:id="@+id/id2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:visibility="visible"
        android:src="@drawable/sample"
        android:layout_weight="1"

        />

<android.widget.RatingBar android:id="@+id/ratingBar"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:layout_gravity="center"
                          android:numStars="5"
                          android:stepSize="1"
                          android:visibility="visible"
        />

<android.widget.Button android:id="@+id/rateButton"
                       android:text="@string/rateButton"
                       android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:visibility="invisible"
        />
</LinearLayout>

为什么在运行Android 2.3.6的三星Galaxy S上,RatingBar会出现这样的情况?它在模拟器中看起来不错。

enter image description here

1 个答案:

答案 0 :(得分:0)

  

为什么在运行Android 2.3.6的三星Galaxy S上,RatingBar会如此显示?

因为你没有给它足够的屏幕空间。您只是给它一定百分比的屏幕空间,并且根据设备分辨率和数据,这是不够的空间。

您不应该依赖android:layout_weight来帮助您完成始终完全可见的事情。 android:layout_weight适用于本质上可滚动的内容(例如ListView),因为它们可以适应所需的大小。