Android布局高度设置不正确

时间:2016-12-13 12:57:20

标签: android android-layout

这是我的布局xml(xml的一部分),这是值得关注的领域

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">


            <TextView
                android:id="@+id/rating"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/circle"
                android:padding="10dp"
                android:layout_marginRight="10dp"
                android:textColor="@android:color/white"/>

            <TextView
                android:id="@+id/address"
                android:layout_width="0px"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:textColor="@color/timestamp"
                android:textSize="@dimen/news_feed_item_timestamp"
                android:width="0dip"/>
        </LinearLayout>

如代码所示,我在圆角视图中显示一个等级,角半径为30dp,然后在旁边的地址。 我的问题是圆形文本视图显示正确,包裹时的地址没有清楚地显示所有行。

当我尝试将TextView的layout_height更改为

                android:layout_height="match_parent"

地址显示正确,但圆圈的形状消失了。 请帮忙

更新: 添加我得到的截图 With android:layout_height="wrap_content"

With android:layout_height="match_parent"

我想要2,完美的圆圈和完整的文字视图的组合

4 个答案:

答案 0 :(得分:0)

如果将textview的高度更改为wrap_content ...

,问题就解决了
android:layout_height="wrap_content"

答案 1 :(得分:0)

您没有正确设置体重信息。第一个textview没有任何权重约束。

将2个文本视图并排执行此操作:

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/rating"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/circle"
            android:padding="10dp"
            android:layout_marginRight="10dp"
            android:textColor="@android:color/white"/>

        <TextView
            android:id="@+id/address"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textColor="@color/timestamp"
            android:textSize="@dimen/news_feed_item_timestamp"
            android:width="0dip"/>
    </LinearLayout> 

使用此代码,to textview具有相同的大小。要修改它,请使用重量值。

答案 2 :(得分:0)

我遇到了你的问题。

我认为您应该将第一个TextView包装在任何容器(例如LinearLayout)中,如下所示:

而不是:

<TextView
  android:id="@+id/rating"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="@drawable/circle"
  android:padding="10dp"
  android:layout_marginRight="10dp"
  android:textColor="@android:color/white"/>

试试这个:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
      android:id="@+id/rating"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:background="@drawable/circle"
      android:padding="10dp"
      android:layout_marginRight="10dp"
      android:textColor="@android:color/white"/>
</LinearLayout>

答案 3 :(得分:0)

在drawable Circle中使用此代码制作圆形背景。 `

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid
        android:color="#ffffff"/>
    <stroke android:width="1dp" android:color="@color/red_app" />
</shape>`

我已通过此代码解决了此类问题

  <RelativeLayout
                        android:layout_width="45dp"
                        android:layout_height="45dp"
                        android:background="@drawable/circle">

                        <TextView
                            android:id="@+id/tvidle_count"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:layout_centerVertical="true"
                            android:layout_margin="5dp"
                            android:text="0"
                            android:textColor="@color/black_app"
                            android:textSize="18sp" />

                    </RelativeLayout>