Android Studio - 当有 ScrollView 时无法点击 Spinner
Android Studio - Spinner cannot be clicked when there's a ScrollView
我花了 3 天时间试图了解为什么我的 Spinner 无法被点击。我试图删除下面的 ScrollView,它神奇地起作用了。现在,我必须在微调器下方使用 ScrollView,但我不明白为什么不起作用
这是布局:
<Toolbar
android:minHeight="?android:attr/actionBarSize"
android:background="#3399ff"
android:minWidth="25dp"
android:layout_width="match_parent"
android:layout_height="25pt">
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:id="@+id/mpSpinner" />
</Toolbar>
<ScrollView
android:minWidth="25dp"
android:minHeight="25dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrollView1">
<other things below.../>
</ScrollView>
activity不影响其运行,但代码如下:
class MotoParabolico : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_moto_parabolico)
supportActionBar!!.hide()
val spinner = findViewById<Spinner>(R.id.mpSpinner)
val adapter = ArrayAdapter.createFromResource(this, R.array.dropdown_MP, R.layout.custom_spinner)
adapter.setDropDownViewResource(R.layout.custom_spinner)
spinner.adapter = adapter
}
好的,我找到了,问题是 ScrollView 与您的工具栏重叠。您必须在两个视图之间添加一些边距。试试看。
<Toolbar
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="#3399ff"
android:minHeight="?android:attr/actionBarSize"
android:minWidth="25dp">
<Spinner
android:id="@+id/mpSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end" />
</Toolbar>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="35dp"
android:minHeight="25dp"
android:minWidth="25dp">
//Text view with large text scrollable
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</ScrollView>
我花了 3 天时间试图了解为什么我的 Spinner 无法被点击。我试图删除下面的 ScrollView,它神奇地起作用了。现在,我必须在微调器下方使用 ScrollView,但我不明白为什么不起作用
这是布局:
<Toolbar
android:minHeight="?android:attr/actionBarSize"
android:background="#3399ff"
android:minWidth="25dp"
android:layout_width="match_parent"
android:layout_height="25pt">
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:id="@+id/mpSpinner" />
</Toolbar>
<ScrollView
android:minWidth="25dp"
android:minHeight="25dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrollView1">
<other things below.../>
</ScrollView>
activity不影响其运行,但代码如下:
class MotoParabolico : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_moto_parabolico)
supportActionBar!!.hide()
val spinner = findViewById<Spinner>(R.id.mpSpinner)
val adapter = ArrayAdapter.createFromResource(this, R.array.dropdown_MP, R.layout.custom_spinner)
adapter.setDropDownViewResource(R.layout.custom_spinner)
spinner.adapter = adapter
}
好的,我找到了,问题是 ScrollView 与您的工具栏重叠。您必须在两个视图之间添加一些边距。试试看。
<Toolbar
android:layout_width="match_parent"
android:layout_height="35dp"
android:background="#3399ff"
android:minHeight="?android:attr/actionBarSize"
android:minWidth="25dp">
<Spinner
android:id="@+id/mpSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end" />
</Toolbar>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="35dp"
android:minHeight="25dp"
android:minWidth="25dp">
//Text view with large text scrollable
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</ScrollView>