2 요청 미만의 스피너를 구현하고 싶습니다.
1. 표시된 항목 목록을 표시하는 동안 텍스트 정렬은 아래 그림 4와 같이 남았습니다.
2. 하나의 항목을 선택한 후, 아래의 그림 1과 같이 선택한 항목을 오른쪽 정렬 할 수 있습니다. 아래
내 스피너 레이아웃 회 레이아웃 :
안드로이드에서 스피너 사용
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:textColor="#000000"
android:gravity="right"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
그리고 어댑터의의 getView 아래로는 :
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewTag viewTag;
if(convertView == null) {
convertView = myInflater.inflate(R.layout.row_spinner, null);
viewTag = new ViewTag((TextView)convertView.findViewById(R.id.textView1));
convertView.setTag(viewTag);
}
else {
viewTag = (ViewTag)convertView.getTag();
}
viewTag.line1.setText(gd.Lang.get(position));
viewTag.line1.setTextColor(Color.BLACK);
viewTag.line1.setSelected(true);
viewTag.line1.setPadding(0, 0, 40, 0);
viewTag.line1.setGravity(Gravity.RIGHT);
return convertView;
}
그러나 Picture.1 및 Picture.2로 표시됩니다.
viewTag.line1.setGravity(Gravity.RIGHT);
을 viewTag.line1.setGravity(Gravity.LEFT);
으로 변경하면
그림 3과 그림 4로 표시됩니다.
그림 1과 그림 4가 동시에 도착하도록 수정하려면 어떻게해야합니까?
Picture.1
Picture.2는
는 Picture.3
Picture.4는
getView 함수에서 항목 목록이나 선택한 항목을 감지하는 방법에 대한 자세한 내용을 제공 할 수 있습니까? spinner_itemClick 함수에서 – brian
을 클릭하면 클릭 한 항목 위치가 표시됩니다. 이 함수 안에서 this adapter.setPosition (position)을 호출하십시오. 어댑터 클래스에서 개인 변수 selPos를 만듭니다. selPos 설정 = 위치; (이것은 setPosition() 함수의 내용입니다.) getView에서 selPos를 사용하여 logice를 수행하십시오. 전화에서 작성하는 것처럼 코드를 작성하기가 어렵습니다. 예를 들어 getView 함수에서 다음과 같이하십시오. if (selPos == 1) // 오른쪽 정렬 if (selPos == 2), 왼쪽 맞춤 –