Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove shadow from top and bottom of ListView in android?

I have created a custom listView with the row as follows:

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

And listview code used in my main xml is:

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

And adapter used is as follows:

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;         }     } 

And adapter called in main activity through code as follows:

Adapter s = new Adapter(MainActivity.this, row);             mainlist.setAdapter(s);             mainlist.setSelection(length-1); 

My coding is working fine. My problem is that while showing listview which is scrollable is droping shadow at top and bottom of listview and I don't want to show it. How can I remove that shadow?

Thanks in advance

like image 494
Nikki Avatar asked Aug 18 '11 11:08

Nikki


2 Answers

I'm assuming you're talking about the fading edges. To disable them:

android:fadingEdge="none" 

or

listView.setVerticalFadingEdgeEnabled(false); 

UPDATE

As Pim Reijersen pointed out in the comments, android:fadingEdge is deprecated and will be ignored as of API level 14. Please use:

android:fadingEdgeLength="0dp" 
like image 78
Romain Piel Avatar answered Oct 05 '22 07:10

Romain Piel


android:fadingEdgeLength was not worked for me I used and worked well with android:overScrollMode="never"

Add android:overScrollMode="never" to your ScrollView

like image 41
Chathura Wijesinghe Avatar answered Oct 05 '22 07:10

Chathura Wijesinghe