我的活动视图中有9 imageButton
,它们是由id定义的,例如imageButton1 ~ imageButton9
,我需要创建其中的dialog/alert/popup
,以便显示有关每个图像按钮的更多详细信息。
因为这是我第一次尝试使用android studio,而且我也阅读了文档,还阅读了一些有关对话框的网站文章,但对我来说却很混乱,所以问题是如何为每个imageButton创建对话框?
xml file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00FFFFFF"
android:drawingCacheQuality="high"
tools:context=".ShapesActivity">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="65dp"
android:orientation="horizontal"
android:weightSum="3">
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="0dp"
android:layout_height="146dp"
android:layout_weight="1"
android:background="#006B2D2D"
android:contentDescription="@string/triangleDesc"
android:scaleType="fitCenter"
app:srcCompat="@drawable/triangle" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="0dp"
android:layout_height="146dp"
android:layout_weight="1"
android:background="#006B2D2D"
android:contentDescription="@string/trapezoidDesc"
android:scaleType="fitCenter"
app:srcCompat="@drawable/trapezoid" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="0dp"
android:layout_height="146dp"
android:layout_weight="1"
android:background="#006B2D2D"
android:contentDescription="@string/starDesc"
android:scaleType="fitCenter"
app:srcCompat="@drawable/star" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="210dp"
android:orientation="horizontal"
android:weightSum="3">
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="0dp"
android:layout_height="146dp"
android:layout_weight="1"
android:background="#006B2D2D"
android:contentDescription="@string/squareDesc"
android:scaleType="fitCenter"
app:srcCompat="@drawable/square" />
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="0dp"
android:layout_height="146dp"
android:layout_weight="1"
android:background="#006B2D2D"
android:contentDescription="@string/rectangleDesc"
android:scaleType="fitCenter"
app:srcCompat="@drawable/rectangle" />
<ImageButton
android:id="@+id/imageButton6"
android:layout_width="0dp"
android:layout_height="146dp"
android:layout_weight="1"
android:background="#006B2D2D"
android:contentDescription="@string/octagonDesc"
android:scaleType="fitCenter"
app:srcCompat="@drawable/octagon" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="357dp"
android:orientation="horizontal"
android:weightSum="3">
<ImageButton
android:id="@+id/imageButton7"
android:layout_width="0dp"
android:layout_height="146dp"
android:layout_weight="1"
android:background="#006B2D2D"
android:contentDescription="@string/heartDesc"
android:scaleType="fitCenter"
app:srcCompat="@drawable/heart" />
<ImageButton
android:id="@+id/imageButton8"
android:layout_width="0dp"
android:layout_height="146dp"
android:layout_weight="1"
android:background="#007E2F2F"
android:contentDescription="@string/diamondDesc"
android:scaleType="fitCenter"
app:srcCompat="@drawable/diamond" />
<ImageButton
android:id="@+id/imageButton9"
android:layout_width="0dp"
android:layout_height="146dp"
android:layout_weight="1"
android:background="#00E040FB"
android:contentDescription="@string/circleDesc"
android:scaleType="fitCenter"
app:srcCompat="@drawable/circle" />
</LinearLayout>
</RelativeLayout>
kotlin file
import android.content.Intent
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.*
import androidx.appcompat.widget.Toolbar
class ShapesActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_shapes)
val toolbar = findViewById(R.id.toolbar) as Toolbar;
setSupportActionBar(toolbar);
//menu items actions
override fun onCreateOptionsMenu(menu: Menu): Boolean {
val inflater = menuInflater as MenuInflater
inflater.inflate(R.menu.items, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
R.id.settings_page -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
val intent = Intent(this, SettingActivity::class.java);
startActivity(intent);
};
true
}
else -> {
// If we got here, the user's action was not recognized.
// Invoke the superclass to handle it.
super.onOptionsItemSelected(item)
}
}
}
每个对话框中我需要有4个项目(每个imageButton的数据不同,],>
任何想法?
我的活动视图中有9个imageButton,它们是由id定义的,例如imageButton1〜imageButton9,我需要创建它们的对话框/警告/弹出窗口,以显示有关...的更多详细信息...