Как сделать так, чтобы ярлык на домашнем экране запускал диалог?
Хорошо, я задал еще один вопрос, пытаясь сделать мои действия похожими на диалоги. Я думаю, может быть, вместо того, чтобы спрашивать о конкретном методе, я должен спросить о том, что я хотел бы сделать, и, возможно, есть другой способ сделать это...
Вот что у меня есть. Мое приложение позволяет размещать ярлыки на главном экране. Код и логика для создания ярлыков все работает безупречно, а затем ярлыки запускают надлежащее действие, которое показывает, что он должен... опять же, все работает безупречно.
Что мне интересно, есть ли способ, чтобы ярлык на главном экране запускал мою активность в виде диалога (в отличие от простой попытки сделать мою активность похожей на диалог)?
1 ответ
Добавьте это в свой манифест, в упражнении, которое вы хотите выглядеть как диалог, объявление:
<activity android:theme="@android:style/Theme.Dialog">
для получения дополнительной информации и тем: http://developer.android.com/guide/topics/ui/themes.html
кроме того, для этой цели вы можете использовать следующий код:
public class ShowDialogActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//
//Log.d("DEBUG", "showing dialog!");
Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.select_dialog_singlechoice);
dialog.setTitle("Your Widget Name");
dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(true);
TextView text = (TextView) dialog.findViewById(R.id.text1);
text.setText("Message");
dialog.show();
//
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface arg0) {
finish();
}
});
}
}
Вы можете выбрать любой макет для диалога и оформить его как хотите.
Кроме того, вам необходимо установить это объявление активности в манифесте для следующего:
<activity android:name=".ShowDialogActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>
Надеюсь, это то, что вы искали, Гал.