首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

listview记录滚动时,listview布局上方的ImageView也要滚动

2012-03-22 
listview记录滚动时,listview布局上方的ImageView也要滚动,在线等主界面 main.xmlImageView android:id

listview记录滚动时,listview布局上方的ImageView也要滚动,在线等
主界面 main.xml
<ImageView android:id="@+id/img1" 
android:layout_width="fill_parent" 
android:layout_height="148dip"
android:layout_marginTop="0dip"
android:scaleType="fitXY"
/>
<ListView
android:id="@+id/listView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:scrollbars="vertical"
android:background="#ffffff"
android:divider="#aaaaaa"
android:dividerHeight="1px"/>

listview子界面
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="24dip"
android:layout_marginTop="6dip"
android:layout_marginBottom="2dip"
android:textSize="18px"
android:singleLine="true"
android:textColor="#333333" />
<TextView
android:id="@+id/navinfo"
android:layout_width="wrap_content"
android:layout_height="36dip"
android:textSize="14px"
android:textColor="#888888" />

现界面可正常运行,在滚动listview中记录时,img1这块不会滚动,
现需:在滚动listview中记录时,img1也要随界面一起滚动,如何实现呀,thanks

[解决办法]
把imageview放到listview第一行,在BaseAdapter的getView判断下是第一行的话显示图片,其他显示正常布局。
[解决办法]
用帧布局吧,listview写在上面,imageview写在下面覆盖住顶端即可


[解决办法]
你把imageView放在main.xml 没放在listView指定控件布局xml中 listView当然没imageVIEW 更不用说滚动了吧
[解决办法]
呵呵不好意思 我就知道这些 自己也没有实现过 初学
[解决办法]
你的意思是说 ImageView android:id="@+id/img1" 要随着listview 的滚动而 滚动?还是说..
你的img1要一直出现在界面.
[解决办法]

探讨

回8楼的,需求是 ImageView android:id="@+id/img1" 要随着listview 的滚动而 滚动

大家帮我看下,怎么实现呀

[解决办法]
public View getView(int position, View view, ViewGroup parent) {
if(view == null){
view = getLayoutInflater().inflate(R.layout.news_list_item, null);
}
//新闻标题
TextView tvTitle = (TextView)view.findViewById(R.id.title);
tvTitle.setText(newsItems.get(position).getTitle());
//新闻内容
TextView tvContent = (TextView)view.findViewById(R.id.navinfo);
tvContent.setText(newsItems.get(position).getNavinfo());


return view;
}
positon是0的时候换成你想要的布局 行不?


[解决办法]
对listview的子布局部分建两个布局文件,根据position的值来判断使用哪个,position为0的时候用第一个,不为0的时候用第二个,下面是测试代码
public class Test_0209Activity extends Activity {
private String items[] = {"a","b","c","d","e","f","g","h","i","j","k"};
private ListView lv = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView)findViewById(R.id.listView1);
lv.setAdapter(new MyAdapter());

}
class MyAdapter extends BaseAdapter{


LayoutInflater inflater = LayoutInflater.from(getApplicationContext());
public int getCount() {
//这里注意长度在数组基础上+1
return items.length+1;
}

public Object getItem(int arg0) {
return null;
}

public long getItemId(int position) {
return 0;
}

public View getView(int position, View convertView, ViewGroup parent) {
View v = null;

if(position == 0){
//我把v的背景设置成了图片,测试可用,加入imageview也可以
v = inflater.inflate(R.layout.view1, null);
return v;
}else{
//position不为0了,切换布局文件
v = inflater.inflate(R.layout.view2, null);

TextView tv = (TextView)v.findViewById(R.id.textView1);
tv.setText(items[position-1]);
return v;

}

}


}
}
[解决办法]
main布局里就不要再放imageview了,放到view1里
[解决办法]
直接把上面的imageview加到listview 的head不就行了。
[解决办法]
listview 的item布局用framelayout,底层是imageview,上层是textview,通过position判断是要显示哪一个,隐藏哪一个。lz得自己揣摩,多看看就了解了。
[解决办法]

探讨
回15楼的,
切换布局文件有点效果了,只是还有些问题,问题如下:

刚进界面时,正常,并顶上的图能随界面滚动,可滚动到第二屏时,那图又出现了,像一般记录一样出现。。
这应该怎么处理呀,

[解决办法]
3l的回复说错了,没看清楚需求。楼主的代码中,imageview是不会滚动的,但会一直在顶端是吧?你想要的是一种伪滚动效果吗?好像很难实现的样子= =
[解决办法]
在imageview和listview外面加个ScrollView,然后在代码中把listview的item高度设置个固定值

热点排行