如何使用 MainActivity 将图像设置为不同布局的 ImageView
How to set an image to ImageView of different layout using MainActivity
我正在尝试设置不同布局的ImageView。我尝试使用 LayoutInflator 来初始化 ImageView 也确保 ImageView 有一个图像(img.getDrawable() returns true)但是没有显示静止图像。
MainActivity
public class MainActivity extends AppCompatActivity {
ImageView img;
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.dialog_success_booking, null);
img = (ImageView) v.findViewById(R.id.img_2);
img.setImageResource(R.drawable.ic_success_circle_green_72dp);
new SwipeDismissDialog.Builder(this)
.setLayoutResId(R.layout.dialog_success_booking)
.build()
.show();
if(img.getDrawable()==null)
Toast.makeText(this,"Image doesn't exits",Toast.LENGTH_LONG).show();
else {
Toast.makeText(this, "Image exits", Toast.LENGTH_LONG).show();
img.setImageResource(R.drawable.ic_success_circle_green_56dp);
}
}
Dialog_Success_Booking.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/dialog_add_user_background"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:text="dialog_success_title"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
<ImageView
android:id="@+id/img_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
这里有两件事,我只是快速地用谷歌搜索了图书馆,据我所知,这是你可以做的。您可以通过视图而不是布局资源来设置对话框。
SwipeDismissDialog dialog = new SwipeDismissDialog.Builder(this)
.setLayoutResId(R.layout.dialog_success_booking)
.build()
.show();
img = (ImageView) dialog.findViewById(R.id.img_2);
btn = dialog.findViewById(R.id.button);
img.setImageResource(R.drawable.ic_success_circle_green_72dp);
btn.setText("Download");
我们需要存储对话框引用,显示它,然后使用它并findViewById
进行更改。
其次,将编译替换为实现。这只是一般性建议
implementation'com.github.andreilisun:swipedismissdialog:0.1'
我正在尝试设置不同布局的ImageView。我尝试使用 LayoutInflator 来初始化 ImageView 也确保 ImageView 有一个图像(img.getDrawable() returns true)但是没有显示静止图像。
MainActivity
public class MainActivity extends AppCompatActivity {
ImageView img;
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.dialog_success_booking, null);
img = (ImageView) v.findViewById(R.id.img_2);
img.setImageResource(R.drawable.ic_success_circle_green_72dp);
new SwipeDismissDialog.Builder(this)
.setLayoutResId(R.layout.dialog_success_booking)
.build()
.show();
if(img.getDrawable()==null)
Toast.makeText(this,"Image doesn't exits",Toast.LENGTH_LONG).show();
else {
Toast.makeText(this, "Image exits", Toast.LENGTH_LONG).show();
img.setImageResource(R.drawable.ic_success_circle_green_56dp);
}
}
Dialog_Success_Booking.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/dialog_add_user_background"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:text="dialog_success_title"
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
<ImageView
android:id="@+id/img_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
这里有两件事,我只是快速地用谷歌搜索了图书馆,据我所知,这是你可以做的。您可以通过视图而不是布局资源来设置对话框。
SwipeDismissDialog dialog = new SwipeDismissDialog.Builder(this)
.setLayoutResId(R.layout.dialog_success_booking)
.build()
.show();
img = (ImageView) dialog.findViewById(R.id.img_2);
btn = dialog.findViewById(R.id.button);
img.setImageResource(R.drawable.ic_success_circle_green_72dp);
btn.setText("Download");
我们需要存储对话框引用,显示它,然后使用它并findViewById
进行更改。
其次,将编译替换为实现。这只是一般性建议
implementation'com.github.andreilisun:swipedismissdialog:0.1'