2017-01-22 24 views
8

Tôi mới vào ứng dụng android đang phát triển vì tôi đã tạo spinner i nhận thấy một khoảng trống/padding theo chiều dọc để thả xuống danh sách của spinner lúc bắt đầu và kết thúc thả xuống.Android spinner remove dropdown vertical space/padding

MainActivity.java:

public class MainActivity extends AppCompatActivity 
{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Spinner sr = (Spinner) findViewById(R.id.spinner); 
     String[] days = getResources().getStringArray(R.array.days); 
     ArrayAdapter<String> ar = new ArrayAdapter<>(this, R.layout.single_row, days); 
     sr.setAdapter(ar); 
    } 
} 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#666666" 
    tools:context="com.xxxxx.defaultspinner.MainActivity"> 

    <Spinner 
     android:id="@+id/spinner" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="20dp" 
     android:spinnerMode="dialog" 
     android:background="#898989"> 

    </Spinner> 

</RelativeLayout> 

single_row.xml

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/app_name" 
    android:textColor="#FFFFFF" 
    android:textSize="26sp" 
    android:background="#214161"> 

</TextView> 

enter image description here

enter image description here

Tôi đặt nền của tất cả các chế độ xem thành màu khác nhau để tôi có thể xác định nguồn của khoảng trống/phần thừa. Nhưng không gian/đệm thừa có nền trắng mà không có khung nhìn nào có.

Lưu ý điều này không phải vì tùy chọn spinnerMode = "dialog". hành vi này cũng xảy ra khi spinnerMode = "dropdown". Làm thế nào tôi có thể loại bỏ không gian này? hoặc tôi đang làm điều gì sai?

+0

Tôi cũng phải đối mặt với cùng một vấn đề – Rohit

Trả lời

0

thử thêm này để bạn TextView

android:includeFontPadding="false" 

nó sẽ loại bỏ các TextView thêm đầu và đệm đáy

+0

Không những không gian mở rộng/đệm được không phải từ TextView vì màu nền của TextView là # 214.161 nơi như không gian thêm/nền đệm là #FFFFFF. Tôi cũng đã kiểm tra câu trả lời của bạn vẫn là kết quả tương tự – HeiseN

0

Bạn chỉ cần ghi đè lên các phương pháp getDropDownView trong adapter.

@Override 
public View getDropDownView(int position, View convertView, ViewGroup parent) { 
    parent.setPadding(0, 0, 0, 0); 
    return convertView; 
} 
Các vấn đề liên quan