45 votes

Supprimer l'ombre du haut et du bas de ListView dans Android?

J'ai créé une coutume listView avec la ligne comme suit:

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

Et listview code utilisé dans mon xml principal est:

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

Et l'adaptateur est utilisé comme suit:

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

Et l'adaptateur appelé dans l'activité principale par le biais de code comme suit:

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

Mon codage fonctionne bien. Mon problème est que, tout en montrant un listview qui est de défilement est dropant ombre en haut et en bas de la listview et je ne veux pas le montrer. Comment puis-je supprimer cette ombre?

Merci d'avance

113voto

Romain Piel Points 4269

Je suppose que vous parlez de la décoloration des bords. Pour les désactiver:

 android:fadingEdge="none"
 

ou

 listView.setVerticalFadingEdgeEnabled(false);
 

MISE À JOUR

Comme Pim Reijersen l’a souligné dans les commentaires, android:fadingEdge est obsolète et sera ignoré à partir du niveau 14 de l’API. Veuillez utiliser:

 android:fadingEdgeLength="0dp"
 

47voto

android:fadingEdgeLength n'était pas travaillé pour moi J'ai utilisé et bien travaillé avec android:overScrollMode="never"

Ajoutez android:overScrollMode="never" à votre ScrollView

1voto

Yash Points 934

essayez l'extrait de code ci-dessous

 listView.setVerticalFadingEdgeEnabled(false);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X