无法在LinearLayout

时间:2015-08-21 17:45:32

标签: android android-layout android-linearlayout textview android-layout-weight

我有一张日历图片(72x72)。我试图将月份叠加在主位上的最高位和日期。

我试图通过使用垂直LinearLayout并将日历设置为背景图像并使用两个TextView作为LinearLayout的子项来尝试这样做。

我已经让它达到了一定程度,但我无法让这个月充分向下移动,以便它处于正确的位置。

这张图片是我迄今为止所取得的成就:

Incorrect Calendar Image

使用以下布局片段:

 <LinearLayout
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/cal"
    android:layout_gravity="center"
    android:weightSum="8">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="September"
        android:id="@+id/textView8"
        android:layout_weight="5"
        android:gravity="center_horizontal|bottom"
        android:textColor="#ffffff"
        android:textSize="10dp"
        android:layout_gravity="center_horizontal"
        android:textStyle="bold"
        android:paddingBottom="-10dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="@style/Base.TextAppearance.AppCompat.Display1"
        android:text="21"
        android:id="@+id/textView9"
        android:textColor="#000000"
        android:textStyle="bold"
        android:layout_weight="3"
        android:gravity="center"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="0dp"
        android:paddingTop="0dp" />

</LinearLayout>

我一直在玩重量和填充物(正如你所看到的),但我所尝试的并没有奏效。

有谁能建议我应该做什么? (如果可能,我不想更改文字大小。)

答案是在Hussein El Feky(和Brendan Shaenzer)建议的日期月份TextView的顶部添加填充。所以,谢谢你们。

以下是更正后的图片:

Correct Calendar Image

2 个答案:

答案 0 :(得分:1)

看起来您需要TextView的第一个LinearLayoutandroid:paddingTop的顶部之间的空格,但我没有看到任何属性可以实现这一点。任何:

  • textView8 android:layout_marginTop
  • textView8 android:paddingTop
  • {li> LinearLayout {"phone_number":"+55xxxxxxx","email":"xxxxxx@br.red.com","name":"xxxxx","xxxxxxxxx":"xxxxxxxxx","preferred_username":"xxxxxx","given_name":"xxxxx","country":"Brazil"}

应该这样做。

答案 1 :(得分:1)

试试这个布局:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:background="@drawable/cal">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="September"
        android:id="@+id/textView8"
        android:layout_weight="5"
        android:gravity="center"
        android:textColor="#ffffff"
        android:textSize="10dp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:textAppearance="@style/Base.TextAppearance.AppCompat.Display1"
        android:text="21"
        android:id="@+id/textView9"
        android:textColor="#000000"
        android:textStyle="bold"
        android:layout_weight="7"
        android:gravity="center" />

</LinearLayout>

如果你能提供你的cal drawable,我也可以改善我的答案。我让你的TextViews居中,但现在玩重量,因为我没有你的drawable。