| | |
| | | import android.view.Gravity |
| | | import android.view.View |
| | | import android.view.ViewGroup |
| | | import android.widget.LinearLayout |
| | | import android.widget.RelativeLayout |
| | | import android.widget.TextView |
| | | import android.widget.* |
| | | import cn.flightfeather.thirdappmodule.R |
| | | import cn.flightfeather.thirdappmodule.adapter.AllListViewAdapter |
| | | import cn.flightfeather.thirdappmodule.bean.entity.Province |
| | | import cn.flightfeather.thirdappmodule.util.dp |
| | | import io.reactivex.Observable |
| | | import io.reactivex.android.schedulers.AndroidSchedulers |
| | | import io.reactivex.schedulers.Schedulers |
| | | import kotlinx.android.synthetic.main.activity_scense_detail.* |
| | | import org.jetbrains.anko.alignParentBottom |
| | | import org.jetbrains.anko.alignParentEnd |
| | | import org.jetbrains.anko.alignParentStart |
| | | import org.jetbrains.anko.backgroundResource |
| | | import kotlin.collections.ArrayList |
| | | |
| | | |
| | | /** |
| | |
| | | private val viewPager = MyViewPager(context) |
| | | private val dots = LinearLayout(context) |
| | | private val index = LinearLayout(context) |
| | | private val spinner = Spinner(context) |
| | | private var currentIndex: TextView? = null |
| | | private var curPos = 0 |
| | | private var lastPos = 0 |
| | |
| | | initDots() |
| | | initIndex() |
| | | // initObservable() |
| | | } |
| | | |
| | | var menus = listOf<String>() |
| | | set(value) { |
| | | field = value |
| | | initSpinner() |
| | | } |
| | | |
| | | fun refresh() { |
| | |
| | | dots.getChildAt(newPos).isEnabled = true |
| | | lastPos = newPos |
| | | |
| | | (index.getChildAt(0) as TextView).text = "${p0 + 1}" |
| | | (index.getChildAt(0) as TextView).text = "${newPos + 1}" |
| | | |
| | | spinner.setSelection(newPos) |
| | | } |
| | | |
| | | }) |
| | |
| | | addView(index) |
| | | } |
| | | |
| | | private fun initSpinner() { |
| | | val spinnerParams = LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) |
| | | spinnerParams.alignParentBottom() |
| | | spinnerParams.alignParentStart() |
| | | |
| | | spinner.apply { |
| | | adapter = object : AllListViewAdapter<String>(ArrayList(menus), R.layout.item_spinner_drop_down_custom) { |
| | | override fun bindView(holder: ViewHolder, obj: String) { |
| | | holder.setText(R.id.text1, obj) |
| | | } |
| | | } |
| | | onItemSelectedListener = object : AdapterView.OnItemSelectedListener { |
| | | override fun onNothingSelected(parent: AdapterView<*>?) = Unit |
| | | override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { |
| | | viewPager.setCurrentItem(position, true) |
| | | } |
| | | } |
| | | layoutParams = spinnerParams |
| | | background = ContextCompat.getDrawable(context, R.drawable.shape_black_spinner) |
| | | setPadding(0, 0, 20.dp, 0) |
| | | } |
| | | addView(spinner) |
| | | } |
| | | |
| | | } |