如何在Listview上方对齐标题

时间:2016-02-19 00:16:07

标签: java android xml android-layout listview

我有一个带有6个标题的标题部分,位于列表视图上方但是标题标题不在我的行数据的正上方,有些略微偏离。我已经厌倦了许多解决方案,但这非常棘手。一些建议会很棒

这是我的list_item xml:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="festivalapp.com.mapapp">
    <permission
    android:name="festivalapp.com.mapapp.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />
    <uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="festivalapp.com.mapapp.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="A*******************************8" />


</application>

这是我的list_item xml:

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:paddingTop="4dip"
 android:paddingBottom="6dip"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:orientation="horizontal">

 <TextView android:id="@+id/from"
     android:layout_width="50dip"
     android:layout_height="wrap_content"
      android:layout_below="@id/from"
       android:gravity="center"
    android:textColor="#0300f1"/>

 <ImageView
    android:id="@+id/imageView1"
     android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="hello"
        android:layout_toLeftOf="@+id/subject"
     />

 <TextView android:id="@+id/subject"
     android:layout_width="70dip"
     android:textColor="#000000"
      android:gravity="center"
     android:layout_height="wrap_content" android:layout_weight="1"/>

 <TextView android:id="@+id/date"
     android:layout_width="60dip"
     android:textColor="#d20015"
      android:gravity="center"
     android:layout_height="wrap_content"  android:layout_weight="1"/>


 <TextView android:id="@+id/mail"
     android:layout_width="60dip"
     android:textColor="#000000"
      android:gravity="center"
     android:layout_height="wrap_content"  android:layout_weight="1"/>

  <TextView android:id="@+id/roundscore"
     android:layout_width="60dip"
     android:textColor="#000000"
      android:gravity="center"
     android:layout_height="wrap_content"  android:layout_weight="1"/>

1 个答案:

答案 0 :(得分:0)

我试一试,我不确定完全理解你的问题。但是您希望将字段与数据完美对齐。我无法发表评论,因为我没有足够的声誉。我认为这是因为你有5个字段,在你的一行项目中你有6个数据要放。所以一方面你将屏幕分为6,另一方分为5,但是如果你放六个这样的字段:

<?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">

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:gravity="center"
        android:text="HEADER1"
        android:textSize="11dp" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:gravity="center"
        android:text="HEADER2"
        android:textSize="11dp" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:gravity="center"
        android:text="HEADER3"
        android:textSize="11dp" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:gravity="center"
        android:text="HEADER4"
        android:textSize="11dp" />


    <TextView
        android:id="@+id/textView5"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:gravity="center"
        android:text="HEADER5"
        android:textSize="11dp" />
    <TextView
        android:id="@+id/textView6"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:gravity="center"
        android:text="HEADER5"
        android:textSize="11dp" />
</LinearLayout>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="1"
        android:layout_weight="1"
        android:textColor="#0300f1"/>

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:contentDescription="hello"
        android:layout_toLeftOf="@+id/subject"
        android:layout_weight="1"
        />


    <TextView android:id="@+id/subject"
        android:layout_width="0dp"
        android:textColor="#000000"
        android:text="1"
        android:gravity="center"
        android:layout_height="wrap_content" android:layout_weight="1"/>

    <TextView android:id="@+id/date"
        android:layout_width="0dp"
        android:text="1"
        android:textColor="#d20015"
        android:gravity="center"
        android:layout_height="wrap_content"  android:layout_weight="1"/>


    <TextView android:id="@+id/mail"
        android:layout_width="0dp"
        android:text="1"
        android:textColor="#000000"
        android:gravity="center"
        android:layout_height="wrap_content"  android:layout_weight="1"/>

    <TextView android:id="@+id/roundscore"
        android:layout_width="0dp"
        android:text="1"
        android:textColor="#000000"
        android:gravity="center"
        android:layout_height="wrap_content"  android:layout_weight="1"/>
    </LinearLayout>

它会起作用。 编辑: 所以基本上你的textView6不在你的LinearLayout中。