我已经创建了一个自定义的ratingBar,如此处有关堆栈溢出的教程之一所述,它看起来很棒,问题在于图像居中.这是我所拥有的:
如您所见,TextView在LinearLayout中垂直居中,但ratingBar在其顶部.这是此图像的xml代码:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:foregroundGravity="center" >
<LinearLayout
android:layout_width="320dp"
android:layout_height="match_parent"
android:gravity="center" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<ratingBar
android:id="@+id/ratingBar1"
style="@style/starsratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:numStars="5"
android:rating="2.3"
android:stepSize="1" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:src="@drawable/ic_launcher" />
</LinearLayout>
</ScrollView>
这是样式的代码:
<style name="starsratingBar" parent="@android:style/Widget.ratingBar">
<item name="android:progressDrawable">@drawable/star_ratingbar_full</item>
<item name="android:minHeight">36dip</item>
<item name="android:maxHeight">36dip</item>
</style>
ratingBar中的任何想法都会被发现!
谢谢
解决方法:
好吧,我想我明白了.
关键问题是ScrollView:除非您另有明确说明,否则它会自动使事情紧凑.在滚动视图中,设置
android:fillViewport="true"
以使其利用可用空间.