我有一个设计,其中屏幕的一小部分专用于显示用户的个人资料图像。下面用分隔符分隔的是ListView中包含的项目列表。我希望当我在列表中滚动时,配置文件的顶视图将保持在那里并且不可滚动,以便仅列表可滚动:
当前在onCreate
上展开了一个ListView,然后添加了一个包含顶部图像的header.xml
,如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.word_list);
ListView listView = (ListView) findViewById(R.id.list);
listView.addHeaderView(getLayoutInflater().inflate(R.layout.header, null));
这是word_list.xml
:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="true"
android:orientation="vertical" />
这是header.xml:
<LinearLayout
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/headerImageView"
android:layout_width="match_parent"
android:layout_height="119dp"
app:srcCompat="@drawable/profile_image" />
<View
android:id="@+id/headerDivider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?android:attr/listDivider" />
这是我想要实现的:
答案 0 :(得分:0)
您的视图将如下所示:
<?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"
android:paddingLeft="16dp"
android:id="@+id/register_container"
android:paddingRight="16dp"
android:background="#FFF">
<ImageView
android:id="@+id/headerImageView"
android:layout_width="match_parent"
android:layout_height="0"
android:layout_weight="1"
app:srcCompat="@drawable/profile_image"/>
<View
android:id="@+id/headerDivider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?android:attr/listDivider"
android:layout_marginBottom="4dp"/>
<ListView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:id="@+id/list"/>
</LinearLayout>
答案 1 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Activity.UnderCoordinatorActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<RelativeLayout
android:id="@+id/main_layout_cordinate"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_margin="5dp"
android:layout_below="@+id/relativeLayout"
android:background="@color/home">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ImageView
android:id="@+id/headerImageView"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/ic_launcher_background"
/>
<TextView
android:id="@+id/voter_tv"
android:layout_width="match_parent"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
android:textColor="#ffff"
android:textStyle="bold"
android:gravity="center"
android:text="john Doe"/>
</LinearLayout>
</RelativeLayout>
<ListView
android:id="@+id/list_item_group"
android:layout_below="@+id/main_layout_cordinate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>