我想制作圆角对话框;但在我完成后,它看起来像这样>>

爪哇
AlertDialog.Builder dialogBuilder= new AlertDialog.Builder(this);
dialogBuilder.setView(R.layout.complain_dialog);
final AlertDialog alertDialog= dialogBuilder.create();
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)
XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="100dp"
app:cardBackgroundColor="#FFF"
app:cardCornerRadius="15dp">
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginBottom="15dp"
android:background="@color/black_overlay" />
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
问题是:为什么对话框仍然显示在没有圆角半径的背景中?
在寻找解决此问题的方法后,我找到了其中一些解决方案>>
Java-经过上述解决方案的测试
Dialog dialog= new Dialog(getContext());
dialog.setContentView(R.layout.complain_dialog);
dialog.getWindow().setBackgroundDrawable(new
ColorDrawable(Color.TRANSPARENT));
dialog.show();
Run Code Online (Sandbox Code Playgroud)
测试解决方案后的结果

现在对话框根本没有出现!任何人都可以给我解决这个问题吗?先感谢您。
Navigation.findNavController(it)我想知道和之间的区别NavHostFragment.findNavController(this)。基本上两者都在做同样的事情,但不知道这些方法必须使用的确切位置。
创建片段时,我从网络下载数据。单击已激活的菜单项时如何避免重新加载?转换与导航组件一起使用。我知道我需要听取媒体的意见,但我还没有弄清楚实施方式。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val navController = findNavController(R.id.fragmentContainerView)
val appBarConfiguration = AppBarConfiguration(setOf(R.id.ruleListFragment))
setupActionBarWithNavController(navController, appBarConfiguration)
bottomNavigatinView.setupWithNavController(navController)
bottomNavigatinView.setOnNavigationItemSelectedListener {
//TODO
}
}
}
Run Code Online (Sandbox Code Playgroud) 这是我添加android:usesCleartextTraffic="true"到AndroidManifest.xml.
Manifest merger failed : Attribute application@usesCleartextTraffic value=(true) from AndroidManifest.xml:29:9-44
is also present at [com.payu.custombrowser:payu-custom-browser:7.5.1] AndroidManifest.xml:17:18-54 value=(false).
Suggestion: add 'tools:replace="android:usesCleartextTraffic"' to <application> element at AndroidManifest.xml:19:5-181:19 to override.
Run Code Online (Sandbox Code Playgroud) 您好,我不知道如何在 jetpack compose 中制作切角菜单1.0.0-beta02。我尝试用表面包裹 while 菜单,但没有用。
TopAppBar(
modifier = Modifier
.statusBarsPadding(),
title = {
Text(text = "Title")
},
actions = {
var menuExpanded by remember { mutableStateOf(false) }
IconButton(onClick = { menuExpanded = true }) {
Icon(Icons.Default.MoreVert, contentDescription = null)
}
DropdownMenu(
expanded = menuExpanded,
onDismissRequest = {
menuExpanded = false
},
) {
DropdownMenuItem(onClick = {}) {
Text("Item 2")
}
}
},
)
Run Code Online (Sandbox Code Playgroud)
这给了我
但我需要这样的东西,它是四舍五入的。
我正在尝试生成签名的 apk,但不断收到此错误。我在谷歌上搜索了该错误,但没有找到任何可靠的信息。任何帮助都会很棒。谢谢。
Task :app:processReleaseManifest FAILED [com.facebook.android:audience-network-sdk:6.4.0] /Users/xxxx/.gradle/caches/transforms-2/files-2.1/1208b0b00589b6f8b9220695fa10ec7b/audience-network-sdk-6.4.0/AndroidManifest.xml:12:9-55 Error: Missing 'package' key attribute on element package at [com.facebook.android:audience-network-sdk:6.4.0] AndroidManifest.xml:12:9-55 [com.facebook.android:audience-network-sdk:6.4.0] /Users/xxxx/.gradle/caches/transforms-2/files-2.1/1208b0b00589b6f8b9220695fa10ec7b/audience-network-sdk-6.4.0/AndroidManifest.xml Error: Validation failed, exiting
See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.
Execution failed for task ':app:processReleaseManifest'.
> Manifest merger failed with multiple errors, see logs
Run Code Online (Sandbox Code Playgroud) 我尝试过使用getInstalledApplications和getInstalledPackages,两者似乎都只提供默认应用程序。我只说默认应用程序,但这也不一定是真的。当我在 AVD (api 29) 上运行该应用程序时,它将包含 youtube。当我在我的实际手机 (31) 上运行它时,它不会显示 youtube,即使 youtube 是我手机上的默认应用程序。我不知道从这里开始尝试什么。
这就是我尝试获取应用程序信息的方法。
val packManager: PackageManager = packageManager
val allPackages: MutableList<ApplicationInfo> = packManager.getInstalledApplications(PackageManager.GET_META_DATA)
//packManager.getInstalledPackages(PackageManager.GET_META_DATA)
val packages: MutableList<ApplicationInfo> = mutableListOf<ApplicationInfo>()
//getting app info for "main apps" that can actually be opened
for (i in allPackages) {
if (packManager.getLaunchIntentForPackage(i.packageName) != null) {
packages.add(packages.size, packManager.getApplicationInfo(i.packageName, 0))
}
}
Run Code Online (Sandbox Code Playgroud) 所以我试图为我添加一些值,SharedPreferences但每次单击按钮时它都会使用默认值,00所以我的if语句总是返回true,即使它不应该.
private static final String SHARED_FREFS = "sharedPrefs";
private static final String STATE = "state";
Run Code Online (Sandbox Code Playgroud)
这是按钮点击事件
public void onClick(View v) {
SharedPreferences sharedPreferences = getSharedPreferences(SHARED_FREFS, MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
int currentTime = Calendar.getInstance().getTime().getMinutes();
String eh = sharedPreferences.getString(STATE, "00");
if(!Integer.toString(currentTime).equalsIgnoreCase(sharedPreferences.getString(STATE, "00"))){
GetData();
editor.putString(STATE, Integer.toString(currentTime));
Log.e("ATTENTION!:", "METHOD HAS BEEN FIRED!");
}
}
});
Run Code Online (Sandbox Code Playgroud)
我试图将当前分钟存储在那里,但它没有这样做.我是否需要一个名为data的文件夹,其中包含一个名为的xml文件sharedPrefs?
我已经添加了依赖项但仍然出现错误
implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha01'
kapt 'androidx.hilt:hilt-compiler:1.0.0-alpha01'
Run Code Online (Sandbox Code Playgroud)
未解决的参考:viewModels