小编Nil*_*hod的帖子

使用FlexboxLayoutManager将RecyclerView项目居中

如何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

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

如何以编程方式使用OutlineBox创建TextInputLayout

我想用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

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

在Toast中使用字符串资源

我的代码是:

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).请问有人可以开导我吗?

非常感谢

巴兹

java android toast charsequence

10
推荐指数
2
解决办法
3万
查看次数

EditText:如何启用/禁用输入?

我有一个7x6的EditText视图网格.我希望在应用程序启动时禁用所有这些功能,即它们应该像正常一样运行TextViews并且不可编辑.然后用户点击网格中的一个单元格,它改变其背景并执行一些视觉效果.如果用户再次单击该单元格,则应允许编辑.我正在OnClick()OnFocusChange()听众斗争,但我无法完成这样的基本互动.

setEnabled()setFocusable()没有帮助.我想知道为什么即使这样一个简单的任务在Android上也变得如此困难

android android-edittext

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

NavBar下面的BottomNavigationBar

目标:

1)使状态栏透明 - 完成

2)充分利用BottomNavigationViewNavbar相同的颜色.- 差不多完成了

问题

通过在我的代码中添加以下代码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)

android styles navbar android-layout bottomnavigationview

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

Kotlin android启动新服务

通过使用下面的代码,我试图从启动新服务Broadcast receiver,但该服务未启动。请指导我如何在中启动服务kotlin

val intent = Intent(context, LocationService::class.java)
 if (context != null) {
      context.startService(intent)
 }
Run Code Online (Sandbox Code Playgroud)

android kotlin android-components

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

如何在android中的按钮周围制作动画/恒定发光效果?

我试图让两个按钮在它们周围发出微弱的光,有点脉动褪色效果

按钮示例图像周围的发光效果

按钮有一个背景可绘制图像,我只想在它周围有一个发光的效果,让它与播放的音乐产生共鸣

我已经搜索了多个线程,它们要么只是一个图像视图,要么是按下的,要么是位图,所以不一定是我正在寻找的

这是我的按钮 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)

android android-animation android-layout android-button

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

在Android中使用Glide从Image获取Bitmap

我想使用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'"

我想使用此依赖项,因为这是最新版本.

谁能在这方面帮助我.提前致谢.

android bitmap imageview android-glide

9
推荐指数
4
解决办法
1万
查看次数

无法在ViewPager中编辑Fragment中的ActionBar标题

我有一个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的标题没有影响.为了正确编辑标题,我缺少什么?


编辑

我也试着实施addOnPageChangeListenerviewPager,我可以看到,该方法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

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

将androidx biometric更新为1.0.0-alpha04后,Android崩溃

一切正常'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)

android biometrics kotlin androidx android-biometric-prompt

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