Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android布局不一致_Java_Android_Android Listview_Android Linearlayout - Fatal编程技术网

Java Android布局不一致

Java Android布局不一致,java,android,android-listview,android-linearlayout,Java,Android,Android Listview,Android Linearlayout,我有一个以两种不同布局显示的布局。第一个显示在线性布局中,其行为符合预期: 但是,当此布局是listview的一部分时,textview不居中: 布局如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" a

我有一个以两种不同布局显示的布局。第一个显示在
线性布局中,其行为符合预期:

但是,当此布局是listview的一部分时,textview不居中:

布局如下:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="130dp"
    android:orientation="vertical">
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:orientation="horizontal"
            android:padding="5dp">
            <com.parse.ParseImageView
                android:id="@+id/iv"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:scaleType="fitCenter"/>
            <TextView
                android:id="@+id/tv_title"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="2.5"
                android:layout_marginLeft="10dp"
                android:textAppearance="@android:style/TextAppearance.Holo.Medium"
                android:ellipsize="end"
                android:maxLines="3"
                android:textStyle="bold"
                />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="25dp"
            android:orientation="horizontal"
            android:paddingLeft="10dp">
            <View
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:background="@color/blue"
                android:layout_gravity="center"
                />
            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@color/gray"
                android:layout_margin="7dp"
                />
            <TextView
                android:id="@+id/tv_source"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:textAppearance="@android:style/TextAppearance.Holo.Small"
                android:gravity="center"/>
            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@color/gray"
                android:layout_margin="7dp"
                />
            <TextView
                android:id="@+id/tv_date"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:fontFamily="sans-serif-light"
                android:textAppearance="@android:style/TextAppearance.Small"
                android:gravity="center"/>
            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="@color/gray"
                android:layout_margin="7dp"
                />
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/ic_fire"
                android:layout_gravity="center"/>
            <TextView
                android:id="@+id/tv_viewCount"
                android:layout_marginLeft="5dp"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:fontFamily="sans-serif-light"
                android:textAppearance="@android:style/TextAppearance.Small"
                android:gravity="center"/>
        </LinearLayout>
        <View
            android:layout_width="match_parent"
            android:layout_height="5dp"/>
    </LinearLayout>
    <ImageView
        android:id="@+id/pin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_pin"/>
    <TextView
        android:id="@+id/comment_tv"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:textColor="@color/white"
        android:layout_alignTop="@+id/pin"
        android:layout_alignBottom="@+id/pin"
        android:layout_alignLeft="@id/pin"
        android:layout_alignRight="@+id/pin"
        android:gravity="center"
        android:layout_marginBottom="10dp"/>

</RelativeLayout>

我所指的文本视图位于底部,id为
comment\u tv

我做错了什么


谢谢

我用你的图像试过了,这是我用底层代码得到的结果。这就是你要找的吗

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/sample"
    android:gravity="center"
    android:text="12"
    android:textSize="18sp" />

</LinearLayout>

下面是这段代码的快照:

您的pin+文本位于相对布局中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_gravity="center_vertical" >

<ImageView
        android:id="@+id/pin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_pin"/>
  <TextView 
     android:id="@+id/comment_tv"
     android:layout_width="wrap_content" android:layout_height="wrap_content"
     android:layout_alignTop="@id/pin"
     android:gravity="center"
     android:layout_marginTop="10dp" //set this higher if you need
     android:layout_centerHorizontal="true" //if this text will be not in the center 
    //you can use the "layout_marginLeft" to put whatever you want
  />

</RelativeLayout>


这应该是一个简单的解决方案,但是你需要的文本应该是在另一个相对的版面中放置图像和文本,这也是改变android:layout_marginBottom=“10dp”的一个可靠的解决方案对于marginTop,您的布局似乎也很合理,请以textview的重心为中心_vertical@IllegalArgument把它放在另一个亲戚身上可不走运layout@AM我试过了,但没用either@0xSina让我试试,我已经在我的项目中使用了它,它很有效。这里有另一种方法,试着将图像设置为textview的背景,我也用过这个方法,它只在背景图像对称(正方形)的情况下工作。试试这个: