我有RelativeLayout,在其中,我有两个TextView。这是我在RelativeLayout:
之前的当前xml代码 <RelativeLayout
android:id="@+id/FullPriceInForeignLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="20"
android:background="@drawable/bck_price_foreign"
android:gravity="center"
android:paddingBottom="@dimen/home_foreign_margin"
android:paddingTop="@dimen/home_foreign_margin"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
>
<TextView
android:id="@+id/currencyForeign"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="USD"
style="@style/SmallWhiteTextViewWithShadow"
android:background="@color/orange"
/>
<TextView
android:id="@+id/valueInLocal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/currencyForeign"
android:layout_marginLeft="@dimen/currency_price_margin"
android:layout_toRightOf="@id/currencyForeign"
android:text="0.00"
android:background="@color/orange"
style="@style/BigWhiteTextViewWithShadow"
/>
</RelativeLayout>
样式是:
<style name="SmallWhiteTextViewWithShadow">
<item name="android:textAppearance">@android:style/TextAppearance.Medium.Inverse</item>
<item name="android:shadowColor">#55000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">0.01</item>
</style>
<style name="BigWhiteTextViewWithShadow">
<item name="android:textAppearance">@android:style/TextAppearance.Large.Inverse</item>
<item name="android:textSize">50sp</item>
<item name="android:shadowColor">#55000000</item>
<item name="android:shadowDx">2</item>
<item name="android:shadowDy">2</item>
<item name="android:shadowRadius">0.02</item>
</style>
它看起来像这样:
我故意用橙色绘制两个小部件的背景,所以你可以看到问题所在。 我希望单词EUR和118.0在顶部具有相同的对齐,而118.0在布局中居中,但我无法做到。
哦,顺便说一下,RelativeLayout位于水平LinearLayout的内部并且有自己的权重。
提前致谢, Deveti
答案 0 :(得分:1)
在RelativeLayout
内,您可以设置具有alignParentTop
属性的子视图,以将两个视图对齐在父视图的顶部,并使用默认为{{1的android:includeFontPadding
并允许true
为英语以外的其他语言(例如重音的法语)自动创建一些空格,如下所示:
TextView
Here您可以找到完美的工作区(<RelativeLayout
android:id="@+id/FullPriceInForeignLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="20"
android:background="@drawable/bck_price_foreign"
android:gravity="center"
android:paddingBottom="@dimen/home_foreign_margin"
android:paddingTop="@dimen/home_foreign_margin"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp" >
<TextView
android:id="@+id/currencyForeign"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:includeFontPadding="false"
android:text="USD"
style="@style/SmallWhiteTextViewWithShadow"
android:background="@color/orange" />
<TextView
android:id="@+id/valueInLocal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:includeFontPadding="false"
android:layout_marginLeft="@dimen/currency_price_margin"
android:layout_toRightOf="@id/currencyForeign"
android:text="0.00"
android:background="@color/orange"
style="@style/BigWhiteTextViewWithShadow" />
</RelativeLayout>
或负边距)。
答案 1 :(得分:0)
添加一个属性android:gravity="center"
,如下所述,
<TextView
android:id="@+id/valueInLocal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/currencyForeign"
android:layout_marginLeft="@dimen/currency_price_margin"
android:layout_toRightOf="@id/currencyForeign"
android:gravity="center"
android:text="0.00"
android:background="@color/orange"
style="@style/BigWhiteTextViewWithShadow"
/>