从Android的ListView的顶部和底部删除阴影?
我已经创build了一个自定义listView,如下所示:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:id="@+id/lay1" android:layout_height="wrap_content" android:background="#ffffff"> <TextView android:layout_width="fill_parent" android:textColor="#000000" android:id="@+id/text" android:layout_height="wrap_content" android:layout_toRightOf="@+id/check" android:textSize="15dip" android:paddingBottom="5dip" android:paddingRight="10dip" android:paddingLeft="10dip"></TextView> <Button android:id="@+id/check" android:layout_centerVertical="true" android:background="@drawable/uncheck" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone"></Button> <EditText android:layout_width="fill_parent" android:textColor="#000000" android:id="@+id/edit" android:layout_height="wrap_content" android:background="@null" android:layout_below="@+id/text" android:textSize="15dip" android:paddingTop="5dip" android:paddingRight="10dip" android:paddingLeft="10dip" android:layout_toRightOf="@+id/check" android:paddingBottom="5dip" ></EditText> </RelativeLayout>
和我的主要xml中使用的listview代码是:
<ListView android:layout_width="450dip" android:background="#FFFFFF" android:layout_height="340dip" android:layout_marginLeft="9dip" android:layout_marginTop="10dip" android:id="@+id/mainlist1" android:divider="@drawable/grayline" android:cacheColorHint="#00000000" ></ListView>
和使用的适配器如下:
public class Adapter extends BaseAdapter { ArrayList<Row> row; private Context context; public Adapter(Context context, ArrayList<SongRow> songrow) { this.context = context; this.row = row; } public int getCount() { return row.size(); } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { long sub_id = row.get(position).getSub_id(); String sub_title = row.get(position).getSub_title(); String sub_text = row.get(position).getSub_text(); if (convertView == null) { LayoutInflater inflat = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflat.inflate(R.layout.mainrow, null); } else { LayoutInflater inflat1 = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflat1.inflate(R.layout.mainrow, null); } final TextView name = (TextView) convertView.findViewById(R.id.text); final EditText et = (EditText) convertView.findViewById(R.id.edit); name.setText(sub_title); et.setText(sub_text); et.setFilters(new InputFilter[] { new InputFilter() { public CharSequence filter(CharSequence src, int start, int end, Spanned dst, int dstart, int dend) { InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); mgr.hideSoftInputFromWindow(et.getWindowToken(),0); et.setCursorVisible(false); return dst.subSequence(dstart, dend); } } }); et.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub if (hasFocus) { InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); mgr.hideSoftInputFromWindow(et.getWindowToken(),0); et.setCursorVisible(false); } } }); et.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); mgr.hideSoftInputFromWindow(et.getWindowToken(),0); et.setCursorVisible(false); } }); return convertView; } }
主要通过代码调用的适配器如下:
Adapter s = new Adapter(MainActivity.this, row); mainlist.setAdapter(s); mainlist.setSelection(length-1);
我的编码工作正常。 我的问题是,虽然显示列表视图是可滚动的阴影列表视图顶部和底部,我不想显示它。 我怎样才能消除这个影子?
提前致谢
我假设你正在谈论衰落的边缘。 禁用它们:
android:fadingEdge="none"
要么
listView.setVerticalFadingEdgeEnabled(false);
UPDATE
正如Pim android:fadingEdge
在评论中指出的那样, android:fadingEdge
已被弃用,在API级别14时将被忽略。请使用:
android:fadingEdgeLength="0dp"
android:fadingEdgeLength
没有为我工作我用和android:overScrollMode="never"
将android:overScrollMode="never"
到ScrollView
这对我有用
android:fadeScrollbars="false" android:fadingEdge="none" android:fadingEdgeLength="0dp" android:cacheColorHint="#00000000" android:overScrollMode="never"
在你的XML ScrollView中使用这个:
android:overScrollMode="never"
您可以设置为“始终”,“从不”或“ifContentScrolls”。
尝试下面的代码片段
listView.setVerticalFadingEdgeEnabled(false);
将此添加到XML中:
android:fadingEdge="none" or android:fadingEdgeLength="0dp"