如何RecyclerView使用中心对待所有项目FlexboxLayoutManager?我需要像这样集中的项目:
我设置布局管理器的代码:
val layoutManager = FlexboxLayoutManager(this)
layoutManager.setFlexWrap(FlexWrap.WRAP)
layoutManager.setFlexDirection(FlexDirection.ROW)
layoutManager.setJustifyContent(JustifyContent.FLEX_START)
layoutManager.setAlignItems(AlignItems.FLEX_START)
val adapter = TagAdapter(tags)
tagRecyclerView.adapter = adapter
tagRecyclerView.layoutManager = layoutManager
Run Code Online (Sandbox Code Playgroud)
(我试图设置layoutManager.setAlignItems(AlignItems.FLEX_START)layoutManager.setAlignItems(AlignItems.CENTER)然而它没有用...
android android-layout android-recyclerview android-flexboxlayout
我想用Widget.MaterialComponents.TextInputLayout.OutlinedBox样式创建TextInputLayout.我尝试了很多方法,但无法获得所需的结果.这是我的代码.
TextInputLayout textInputLayout = new TextInputLayout(getActivity(),null,R.style.Widget_MaterialComponents_TextInputLayout_OutlinedBox);
textInputLayout.setHint("My Hint");
TextInputEditText editText = new TextInputEditText(textInputLayout.getContext());
textInputLayout.addView(editText);
parentView.addView(textInputLayout);
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
TextInputLayout textInputLayout = new TextInputLayout(getActivity(),null,TextInputLayout.BOX_BACKGROUND_OUTLINE);
Run Code Online (Sandbox Code Playgroud)
android android-layout android-styles material-design textinputlayout
我的代码是:
public static void ToastMemoryShort (Context context) {
CharSequence text = getString(R.string.toast_memoryshort); //error here
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
return;
}
Run Code Online (Sandbox Code Playgroud)
但我得到"无法在Eclipse中对类型Context"中的非静态方法getString(int)进行静态引用.我正在准备本地化我的应用程序(将所有硬编码字符串转换为资源),所以我在哪里:
getString(R.string.toast_memoryshort)
Run Code Online (Sandbox Code Playgroud)
我之前有一个硬编码的字符串,很好.
我不确定这里发生了什么(Java noob).请问有人可以开导我吗?
非常感谢
巴兹
我有一个7x6的EditText视图网格.我希望在应用程序启动时禁用所有这些功能,即它们应该像正常一样运行TextViews并且不可编辑.然后用户点击网格中的一个单元格,它改变其背景并执行一些视觉效果.如果用户再次单击该单元格,则应允许编辑.我正在OnClick()和OnFocusChange()听众斗争,但我无法完成这样的基本互动.
玩setEnabled()和setFocusable()没有帮助.我想知道为什么即使这样一个简单的任务在Android上也变得如此困难
目标:
1)使状态栏透明 - 完成
2)充分利用BottomNavigationView和Navbar相同的颜色.- 差不多完成了
问题
通过在我的代码中添加以下代码Activity,状态栏变为透明.但是,BottomNavigationView落在了下面NavBar.如果我删除这行代码,则StatusBar不再是透明的.你觉得我在这痛苦吗?此外......如何让布局的TOP位于状态栏下方?
活动中的代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
Run Code Online (Sandbox Code Playgroud)
活动XML:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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="match_parent"
android:fitsSystemWindows="false">
<com.custom.app.view.ClickableViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/tab_layout" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/custom_black"
app:itemIconTint="@color/white"
app:itemTextColor="@color/white"
app:menu="@menu/bottom_navigation_main" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
Style.xml
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item …Run Code Online (Sandbox Code Playgroud) 通过使用下面的代码,我试图从启动新服务Broadcast receiver,但该服务未启动。请指导我如何在中启动服务kotlin。
val intent = Intent(context, LocationService::class.java)
if (context != null) {
context.startService(intent)
}
Run Code Online (Sandbox Code Playgroud) 我试图让两个按钮在它们周围发出微弱的光,有点脉动褪色效果

按钮有一个背景可绘制图像,我只想在它周围有一个发光的效果,让它与播放的音乐产生共鸣
我已经搜索了多个线程,它们要么只是一个图像视图,要么是按下的,要么是位图,所以不一定是我正在寻找的
这是我的按钮 XML:
<Button
android:id="@+id/playEasyMode_Button"
android:layout_width="145dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/play_easy_button"
android:onClick="playEasyMode"
android:layout_margin="15dp"/>
Run Code Online (Sandbox Code Playgroud)
请不要尝试建议在按下时使用背景可绘制对象等等,这不是我想要做的。我想以编程方式或在 XML 中设置这种效果
编辑:Object Animator offloat 相对布局错误图像 edit2:好的,因为我几乎达到了我想要的效果,下面是 Aman Verma,这是我现在更新的 XML:
<RelativeLayout
android:id="@+id/relative_layout_id"
android:layout_width="160dp"
android:layout_height="55dp"
android:layout_alignParentBottom="true"
android:background="#FFC107"
android:alpha=".1"
android:layout_gravity="center_horizontal"
android:layout_margin="15dp">
<Button
android:id="@+id/playEasyMode_Button"
android:layout_width="145dp"
android:layout_height="40dp"
android:layout_marginLeft="8dp"
android:background="@drawable/play_easy_button"
android:onClick="playEasyMode"
android:layout_marginTop="8dp"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
这是java代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_screen_layout);
//glowing button effect
RelativeLayout relativelayout = (RelativeLayout)findViewById(R.id.relative_layout_id);
ObjectAnimator fadeOut = ObjectAnimator.ofFloat(relativelayout, "alpha", .5f, .1f);
fadeOut.setDuration(300);
ObjectAnimator fadeIn = ObjectAnimator.ofFloat(relativelayout, "alpha", .1f, .5f);
fadeIn.setDuration(300);
final AnimatorSet mAnimationSet = new …Run Code Online (Sandbox Code Playgroud) 我想使用Glide从图像中获取位图.我正在做以下事情 -
Bitmap chefBitmap = Glide.with(MyActivity.this)
.load(chef_image)
.asBitmap()
.into(100, 100)
.get();
Run Code Online (Sandbox Code Playgroud)
它曾用于以前的Glide版本.但它在gradle中不起作用 - "compile 'com.github.bumptech.glide:glide:4.0.0'"
我想使用此依赖项,因为这是最新版本.
谁能在这方面帮助我.提前致谢.
我有一个Activity通过a托管多个片段的单个ViewPager.在Activity的onCreate方法中,我使用以下代码来更改ActionBar标题:
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if(getSupportActionBar() != null) {
getSupportActionBar().setTitle(getResources().getString(R.string.custom_title));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但是一旦Fragment变得可见,我就无法改变它.为了检测它我实施了:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser && getContext() != null) {
((MainActivity) getContext()).editActionBarTitle("new title");
}
}
Run Code Online (Sandbox Code Playgroud)
这里有以下定义editActionBarTitle:
public void editActionBarTitle(String title) {
if(getSupportActionBar() != null) {
getSupportActionBar().setTitle(title);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
Run Code Online (Sandbox Code Playgroud)
我可以看到,只要片段变得可见,就会调用该方法,但它对ActionBar的标题没有影响.为了正确编辑标题,我缺少什么?
编辑
我也试着实施addOnPageChangeListener的viewPager,我可以看到,该方法onPageSelected被调用但对标题没有影响,这里的一对MainActivity一个例子:
public class MainActivity extends BaseActivity {
private NoScrollViewPager mViewPager;
private SectionsPagerAdapter mAdapter; …Run Code Online (Sandbox Code Playgroud) java android android-layout android-fragments android-viewpager
一切正常'androidx.biometric:biometric:1.0.0-alpha03',但是当我使用最新版本构建项目'androidx.biometric:biometric:1.0.0-alpha04'并调用myBiometricPrompt.authenticate(promptInfo)它时,会引发此异常:FragmentManager is already executing transactions。
这是堆栈跟踪:
java.lang.IllegalStateException: FragmentManager is already executing transactions
at androidx.fragment.app.FragmentManagerImpl.ensureExecReady(FragmentManager.java:2207)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2267)
at androidx.fragment.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:814)
at androidx.biometric.BiometricPrompt.authenticateInternal(BiometricPrompt.java:525)
at androidx.biometric.BiometricPrompt.authenticate(BiometricPrompt.java:465)
at com.my.app.ui.LoginFragment.handleTouchIdAuth(LoginFragment.kt:161)
at com.my.app.ui.LoginFragment.onViewCreated(LoginFragment.kt:62)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1471)
at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2646)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2416)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2372)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3273)
at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2466)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1483)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:620)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1391)
at android.app.Activity.performStart(Activity.java:7157)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2937)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) …Run Code Online (Sandbox Code Playgroud)