小编Kri*_*lsh的帖子

如何获取 Android 上已安装电子邮件程序的列表

我正在编写一个 Android 应用程序,通过电子邮件向用户发送报告。我见过一些应用程序启动了可用于发送电子邮件的其他已安装应用程序的列表,我想知道如何做到这一点。

我看过这个代码和这个问题。

您如何从已安装的应用程序列表中筛选出哪些应用程序用于电子邮件?

email android

2
推荐指数
1
解决办法
1113
查看次数

透明对话框在某些设备中不起作用

我正在使用此代码来应用具有透明背景的颜色。

dialog.getWindow().setBackgroundDrawable(new ColorDrawable(MyColor));
Run Code Online (Sandbox Code Playgroud)

它在手机上效果很好,但在平板电脑上无法正常工作

显示在我的方格上有白色和灰色背景(我使用自定义视图,背景设置为@null):

在此处输入图片说明

user-interface android

2
推荐指数
2
解决办法
1756
查看次数

在调用活动时未调用 onActivityResult

我有一个 FragmentActivity 正在启动另一个结果活动。当被调用的活动完成时,不会调用 onActivityResult。我使用 AppCompatActivity 活动(从 FragmentActivity 扩展)有什么不同吗?文档说结果将返回给调用片段,在这种情况下,它不是片段,而是一个活动。这是代码,非常简单:

主要活动:

public class SMSEmailActivityNew extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      //setup activity....
      Intent i = new Intent(this, EulaActivity.class);
      i.putExtra(Globals.keyFileName,Globals.FILE_EULA );
      startActivityForResult(i,RESULT_OK);
   }

   //this method is never called
   @Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data)  {
      super.onActivityResult(requestCode, resultCode, data); 
      //dowork .....
   }

}
Run Code Online (Sandbox Code Playgroud)

调用的活动:

EulaActivity extends AppCompatActivity implements OnClickListener {
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        //set up activity ....
    }

    public void onClick(View v) { …
Run Code Online (Sandbox Code Playgroud)

android onactivityresult

2
推荐指数
1
解决办法
7976
查看次数

如何在 Jetpack Compose 中填充矢量图像的背景?

我有一个矢量图像,我想将其放在按钮上。不幸的是,我的图像显示为白色背景。如何用按钮的颜色填充背景?

带箭头的按钮

这是按钮的代码。

@Composable
fun UserEducationPrimaryButton(
primaryButtonText: String,
primaryButtonClick: (() -> Unit)?,
showButtonArrow: Boolean
) {
val displayUtils = get<DisplayUtils>()
val configuration = LocalConfiguration.current
val screenWidth = displayUtils.convertDpToPixels(configuration.screenWidthDp * 1.0f)
val dpSize = DpSize(width = Dp(screenWidth.toFloat()), height = 52.dp)
// Use the state to change our UI
val interactionSource = remember { MutableInteractionSource() }
val isPressed by interactionSource.collectIsPressedAsState()
val color = if (!isPressed) MaterialTheme.colors.secondary else Color.LightGray
val paddingValues = PaddingValues(horizontal = 32.dp, vertical = 10.dp)

//primary button
Button(
    onClick = primaryButtonClick …
Run Code Online (Sandbox Code Playgroud)

android android-vectordrawable android-jetpack-compose

2
推荐指数
1
解决办法
2148
查看次数

在 RXJava 调用之前未显示进度对话框

我有以下代码,在我执行长时间运行的任务之前,我启动了一个环形对话框,在 RxJava2 中完成。问题是对话框没有显示,我认为我没有阻塞主 UI 线程。

  fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (ringProgressDialog != null) {
                if (ringProgressDialog.isShowing()) {
                    ringProgressDialog.dismiss();
                }
            }
            ringProgressDialog = ProgressDialog.show(SendConversationsActivity.this,
                    getResources().getString(R.string.creating_document_progress_dialog_title),
                    getResources().getString(R.string.conversation_progress_dialog_text),
                    true, false);
            FileNameAndContacts filenameAndContacts = new FileNameAndContacts();
            if (tvNoDatSelected.getVisibility() != View.VISIBLE) {
                filenameAndContacts.setFileName("");
            }
            createDocument(filenameAndContacts)
                    .subscribeOn(Schedulers.io())
                    .observeOn(AndroidSchedulers.mainThread())
                    .doOnError(throwable -> Timber.e(throwable, "Error in getting document"))
                    .subscribe(fileAndContacts -> {
                        if (ringProgressDialog.isShowing()) { //debugger says 
                                                              //dialog is showing. 
                            ringProgressDialog.dismiss();
                        }
                        sendDocumentInEmail(fileAndContacts);

                    });
     }
Run Code Online (Sandbox Code Playgroud)

任务正常执行。在我在同一个活动中执行另一个 RXJava 任务之前,我还显示了另一个环进度对话框,这个对话框出现了。

如果我注释掉 RxJava 调用,就会出现对话框。所以 RxJava 调用中的某些东西是阻塞的。

//EDIT 这个简单的 …

android progressdialog rx-java

1
推荐指数
1
解决办法
2715
查看次数

在 Compose 中将两个 TextField 排成一行

我试图为使用 TextField 和 Row 中的 TextField 的美国各州添加一个下拉列表,但第二个 TextField (zip) 未显示。我究竟做错了什么?

这是我声明该行的方式:

    Row (Modifier.fillMaxWidth()) {
        StateSelection(
            onFormChanged = onFormChanged,
            selectedLocation = selectedLocation,
            label = "State"
        )
        Spacer(modifier = Modifier.width(8.dp))
        ShippingField(
            modifier = modifier,
            onFormChanged = onFormChanged,
            formType = FormType.SHIPPING_ZIP,
            label = "Zip",
            valueField = selectedLocation.zipCode
        )

    }
Run Code Online (Sandbox Code Playgroud)

州下拉:

@Composable
fun StateSelection(
onFormChanged: (FormType, String) -> Unit,
selectedLocation: Address,
label: String
) {
// State variables
val statesMap = AddressUtils.mapOfAmericanStatesToValue
var stateName: String by remember { mutableStateOf(selectedLocation.shippingState) }
var expanded by remember …
Run Code Online (Sandbox Code Playgroud)

android row android-jetpack-compose

0
推荐指数
1
解决办法
2079
查看次数