用Material Design和AppCompat为安卓系统中的按钮着色
AppCompat今天更新发布之前,我能够更改Android L中的按钮的颜色,但不能更改旧版本.包含新的AppCompat更新后,我无法更改这两个版本的颜色,当我尝试使用该按钮时,它就会消失.有人知道如何更改按钮颜色吗? 以下图片显示了我想实现的目标: 白色按钮默认,红色是我想要的. 这是我以前正在做的事情,以更改styles.xml中的按钮的颜色: insert color here 并动态执行: button.getBackground().setColorFilter(getResources().getColor(insert color here), PorterDuff.Mode.MULTIPLY); 我也确实将主题父级从@android:style/Theme.Material.Light.DarkActionBar更改为Theme.AppCo
6 2024-04-05
编程技术问答社区
如何禁止BottomSheetDialogFragment的拖动
如何禁用BottomSheetDialogFragment用手指拖动? 我看到了类似的问题,但它们都是关于BottomSheet而不是BottomSheetDialogFragment. 解决方案 创建MyActivity如下: public class MyActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); new MyBottomSheetFragment().show(getSupportFragmentManager(), "tag"); } public stat
4 2024-04-03
编程技术问答社区
Dim Screen和Block与BottomSheets的交互作用
底部表贝哈维尔已在Android Design支持库23.2中引入,但是它不会使屏幕的其余部分变暗,也不会阻止与UI的其余部分的相互作用.无论如何是否可以实现? 解决方案 public class BottomSheetDimmedFragment extends BottomSheetDialogFragment { public static final String TAG = BottomSheetDimmedFragment.class.getSimpleName(); @NonNull @Override public Dialog onCreateDialog(final Bundle savedInstanceState) { final BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
6 2024-04-03
编程技术问答社区
防止BottomSheetDialogFragment覆盖导航栏
我正在使用真正的幼稚代码来显示底部对话框片段: class LogoutBottomSheetFragment : BottomSheetDialogFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.view_image_source_chooser, container, false) return view } } 这就是我称之为此对话框的方式: LogoutBottomSheetFragment().show(supportFragmentManager, "logout") ,但我在下图中得到了这种可怕的. 我如何保持导航栏白色(底部/家庭
4 2024-04-03
编程技术问答社区
如何在底部导航视图中动态地添加菜单?
Android具有新的UI元素-DottomNavigationView 我不想在XML文件中包含我的菜单.我将收到有关菜单项的信息,并从后端订购.我想动态创建它们,并在onCreate()方法中设置为BottomNavigationView.我可以这样做吗? 解决方案 默认情况下,BottomNavigationView从一个空菜单开始.您可以使用BottomNavigationView bottomNavigation = findViewById(R.id.bottom_navigation); Menu menu = bottomNavigation.getMenu(); menu.add(Menu.NONE, MENU_ITEM_ID_ONE, Menu.NONE, getString(R.string.str_menu_one)) .setIcon(R.drawable.ic_action_one); 其他解决方案 在底部导航视图中使用动态选项的简便方法
6 2024-04-03
编程技术问答社区
有没有一种简单的方法可以在Android视图的顶部和底部添加边框?
我有一个文本视图,我想在其顶部和底部添加一个黑色边框.我尝试在文本视图中添加android:drawableTop和android:drawableBottom>,但这仅导致整个视图变为黑色. 是否可以轻松地在Android中轻松地将顶部和底部边框添加到视图(尤其是文本视图)? 中 解决方案 在Android 2.2中,您可以执行以下操作. 创建一
12 2024-04-02
编程技术问答社区
在安卓系统中似乎无法从视图中获得位图
我的问题类似于 android视图.只有null . 我的代码曾与方法 使用 private Bitmap getBitmapFromView(View v) { v.setDrawingCacheEnabled(true); v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight()); v.buildDrawingCache(true); Bitmap b = Bitmap.createBitmap(v.getDrawingCache()); v.setDrawingCacheEnabled(false);
4 2024-03-31
编程技术问答社区
MPAndroidChart条形图-如何将条形图分组,并在分组之间有随机的X轴间隔?
我想在每个数据点上将3个不同的数据集分组在一起的条形图: : 但是,我无法使用库提供的groupBars方法将条形图分组在一起,因为无论我设置了什么x值,它都会根据Interval I在其参数中指定的栏进行分组. 例如,如果我生成一个带有条目x值{0、5、13、17 ... 50}的数据集并调用" GroupBars",我的所有条目都会收集1个X值,例如So: 我想要的是将每个条形的栏分组,每个条在指定的X值中可见.如果我简单地删除groupBars呼叫,我会得到与我想要的类似的东西,但不是因为酒吧都是重叠的,例如: : 我如何获得与上图相似的结果,但是每个数据集的栏完全可见?这是我的代码生成数据集和分组: ArrayList happinessValues = new ArrayList(); ArrayList stressValues = new ArrayList()
2 2024-03-27
编程技术问答社区
有方向性箭头的背景
我有一个快速的问题,即如何在视图上实现背景的所需视图.我想要的是指向方向的定向箭头,因为在textview的背景上的覆盖层. 例如(美丽的MS油漆技巧) 我已经尝试使用层列表,该列表由于屏幕尺寸的变化或内容高度波动而在这种情况下无法使用.除了使用9PATCH外,还有其他可能的方法吗?由于我的完整文盲,我一直在研究9个补丁. 解决方案 类似此附件的文件会有所帮助吗?在油漆中创建,然后使用您可能已经看到了 9- 9-补丁. > 其他解决方案 实际上这可以在图层列表中工作.就在我的头顶上,您可以这样做:
8 2024-03-27
编程技术问答社区
如何以编程方式实现圆角和设置随机背景颜色
我想绕过视图的角落,也可以根据运行时的内容更改视图的颜色. TextView v = new TextView(context); v.setText(tagsList.get(i)); if(i%2 == 0){ v.setBackgroundColor(Color.RED); }else{ v.setBackgroundColor(Color.BLUE); } v.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); v.setPadding(twoDP, twoDP, twoDP, twoDP); v.setBackgroundResource(R.drawable.tags_rounded_corners); 我希望设置可绘制的颜色,颜色会重叠,但它们却没有.我执行第二个的哪个是由此产生的背景.
0 2024-03-26
编程技术问答社区
如何测试自定义视图的性能
我想测试我的自定义组件UI渲染性能.我使用以下测试用例检查渲染性能. private long getLayoutTime(int layoutRes) { final Context targetContext = getInstrumentation().getTargetContext(); final LayoutInflater layoutInflater = LayoutInflater.from(targetContext); final long startTime = System.currentTimeMillis(); for (int i = 0; i
4 2024-03-21
编程技术问答社区
用ArrayAdapter<Objects>代替ArrayAdapter<Strings>使用Android AutoCompleteTextView
我想在我的Android应用程序中使用AutoCompleteTextView.我知道如何将其与简单的字符串一起使用,但是我希望AutoCompleteTextView使用对象列表来执行完成.我的代码为此如下: 活动代码 public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.search); initialize(); ArrayAdapter adapter = new ArrayAdapter(this, R.layout.dropdown_list_item, GetAllStudentsL
6 2024-03-20
编程技术问答社区
不能用协同例程异步更新用户界面
I am calling a suspend function in my android home screen widget(AppWidgetProvider class) using async-await syntax inside co-routine scope. The values are fetched from the database and they are logged properly. But the UI isn't updated with the same values. This is the code pertaining to the co-routine: scope.launch { val db = Room.databaseBuilder( context, AppDatabase::class.
0 2024-03-18
编程技术问答社区
窗口中可用空间的尺寸(不包括行动栏和边缘)。
免责声明:我重写了大部分问题,包括标题,因为我部分地弄清楚了. 我想在所有屏幕尺寸上最大化按钮的大小,因为它在小时看起来很愚蠢.它看起来应该与此相似: (可悲的是,我不能包括图片,因为我的声誉太低.) 但是,如果我转动设备的方向,例如,按钮匹配它的父母宽度,变得丑陋. (可悲的是,我不能包括图片,因为我的声誉太低.) 我现在已经弄清楚了如何获取其父(Linearlayout)的尺寸以及如何设置按钮的大小.我使用以下代码: 窗口是包含(仅)按钮的线性layout的ID. 此代码位于MainActivity的 oncreate() - 中. // Adapt button's size to smaller dimension: final View window = findViewById(R.id.window); window.getViewTreeObserver().addOnGlobalLayoutListener(new Vi
6 2024-03-16
编程技术问答社区
自定义视图库的架构 Android
我正在建立一个每30秒显示一个问题(从REST API获得)的库,并允许用户选择可能的答案之一. 另外,我需要在应用程序中使用该库,在问题下显示一个视频. 所有业务和UI逻辑都应在库中处理. 使用MVVM方法,在库中使用存储库模式是有意义的吗? 使用此软件包结构? 解决方案 您正在创建库,这是完全不同的上下文和创建代码库与应用程序相比的方法. 首先,您需要就依赖关系做出决定.当然,将改造,MVVM和其他依赖项放入应用程序并进一步管理它非常容易. 在库中,这并不容易.我首先从图书馆期望的是尽可能少.如果您要提供AAR文件,则开发人员必须在项目中包括这些依赖项.另一方面,如果您将图书馆发布给Maven Repo,Gradle将照顾图书馆的依赖关系.但是,这里最大的挑战是维护图书馆并解决使用库的实际应用中的冲突.这可能导致挫败感,最终有人可以将您的图书馆扔掉,这是图书馆创建者的角度最糟糕的事情. 我建议这个小库(调用API并为自定义视图提供数据)是:
6 2024-03-03
编程技术问答社区
安卓视图过渡动画的清单?
是否有可以用来在两个视图之间过渡的所有动画的列表? IE.变焦,幻灯片,脸等 我似乎无法在SDK中或搜索Google中找到综合列表. 此外,是否有任何演示应用程序可以显示所有这些应用程序,以便我可以评估哪个最适合特定用例? 解决方案 无法创建动画的综合列表.您的想象力是可能动画数量的限制. 您可以使用可用的基本动画(alpha,比例,翻译和旋转)的任何组合来在两个视图之间过境. 此可能会帮助您. 其他解决方案 有很多选项使视图之间的动画在某些视图之间是基本的,例如alpha,比例,翻译和旋转,也有新的新内容. 在这里您可以找到示例代码材料设计git参考以获取动画 https://github.com/lgvalle/lgvalle/material-material-animations 您也可以使用动画资源应用其他动画 这是您必须写的活动代码 protected void onCreate(Bundle savedInstanceSta
0 2024-02-26
编程技术问答社区
在安卓系统中,将底部导航排除在过渡动画之外
我一直在搜索到周围,但找不到有助于解决这个特定问题的答案. 我的应用程序具有这样的自定义滑入,滑出效果: Intent intent = new Intent(getApplicationContext(), MyActivity.class); startActivity(intent); overridePendingTransition(R.anim.slide_right_in, R.anim.slide_right_out); 问题 问题是我在所有活动中都包含一个底部措施,我不希望它变得动画,我想排除它. 我要实现的目标 我想从动画中排除底部导航.或者,换句话说,我如何只对过渡之间的内容进行动画? 编辑:我已经尝试使用共享元素,但是我希望它能在API 21下使用. 解决方案 不可能排除组件形式overridePendingTransition() api.取而代之的是,您必须转到 Slide 过渡动画底部导航视图. Transit
10 2024-02-26
编程技术问答社区
安卓。LinearLayout addView 动画
我目前有一个工作的Android程序,该程序可以编程地将视图添加到线度层lay段.我希望这些观点能够动画起来,并且找不到任何良好的资源来弄清楚如何做到这一点. 有人可以将我指向正确的方向吗? 解决方案 这是一个非常古老的问题,但仍然很有趣:您可以使用属性android:animateLayoutChanges="true" 例如: 其他解决方案 可以用场景和过渡api api ./p>
20 2024-02-26
编程技术问答社区
Imageview Android上的蝴蝶动画
我想拿一个带有蝴蝶png的图像视图并为其动画,以便看起来蝴蝶正在移动翅膀. 如何使用Android Native Animation获得这种效果? 解决方案 我已经在iOS中完成了此操作,因此您需要对其进行扩展并用计时器将其缩小. 其他解决方案 它起作用了,这是我所做的,首先我使用Glide加载IMG,然后创建了一个动画: final ScaleAnimation growanim = new ScaleAnimation(1.0f, randscale), 1.0f, 1.0f, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); growanim.setDuration(randomDuration); growanim.setRepeatCount(-1); growanim.setRepeatMode(Animation.RE
4 2024-02-26
编程技术问答社区