小编Kar*_*rde的帖子

创建完整长度的RecyclerView PDF

我想创建活动的“整页” PDF。该视图包含一个RecyclerView,其中包含许多项。

我可以使用Recyclerview的完整尺寸,但是仅从当前视图绘制文件。这是我的代码:

    public void tela (){ // create a new document
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)

    {
        PdfDocument document = new PdfDocument();

        getScreenshotFromRecyclerView(mRecyclerView);
        content = mRecyclerView;
        content.setBackgroundColor(Color.parseColor("#303030"));


        PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(wil,
                height, 1).create();

    // create a new page from the PageInfo
        PdfDocument.Page page = document.startPage(pageInfo);

    // repaint the user's text into the page
        content.draw(page.getCanvas());

    // do final processing of the page
        document.finishPage(page);

    // saving pdf document to sdcard
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy - HH-mm-ss",Locale.getDefault());
        String pdfName = "Revisões_" …
Run Code Online (Sandbox Code Playgroud)

android pdf-generation android-studio android-recyclerview

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

当软键盘显示时,Snackbar会扩展

我发现当软键盘启动时,小吃栏会自动扩展以适应屏幕上列表视图的大小.

Snackbar有问题 在此输入图像描述

普通小吃吧(键盘不起来) 普通的小吃吧

我已经能够通过以编程方式设置高度来稍微解决这个问题,然而文本从快餐栏中消失,我不知道如何将其添加回来.

                ViewGroup.LayoutParams lp = snackbarView.getLayoutParams();
                lp.height = 150;
                snackbarView.setLayoutParams(lp);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

小吃店添加如下:

        mConnectionLostSnackbar = Snackbar.make(view, mConnectionLostString, Snackbar.LENGTH_INDEFINITE);
        final View snackbarView = mConnectionLostSnackbar.getView();
        TextView textView = snackbarView.findViewById(android.support.design.R.id.snackbar_text);
        textView.setLineSpacing(0, SNACKBAR_LINE_SPACING_MULTIPLIER);
        snackbarView.getViewTreeObserver().addOnPreDrawListener(new NotDismissiblePreDrawListener(snackbarView));
        mConnectionLostSnackbar.show();
Run Code Online (Sandbox Code Playgroud)

我很感激任何关于键盘启动时没有快餐栏扩展的想法.提前致谢.

android android-snackbar

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

如何在View.DragShadowBuilder.onProvideShadowMetrics中定位画布

我有一个要求,即可拖动的视图需要将阴影最初直接放置在视图的顶部 - 也就是说,它覆盖整个视图而不是与触摸点相关.

我一直在尝试各种各样的方法来使用我的子类,View.DragShadowBuilder但没有运气.我希望使用drawRect允许我指定矩形点,以便它将绘制在与我的视图相同的矩形中,但这会导致不绘制画布.

但是,仅使用canvas.drawColor(Color.CYAN)绘制矩形,但相对于触摸点.

这是我的尝试使用drawRect:

    private class VideoDragShadowBuilder extends View.DragShadowBuilder {

    public VideoDragShadowBuilder(View v) {
        super(v);
    }

    @Override
    public void onProvideShadowMetrics (Point size, Point touch) {
        int width, height;

        width = getView().getWidth();
        height = getView().getHeight();

        size.set(width, height);
        touch.set(width / 2, height / 2);
    }

    @Override
    public void onDrawShadow(Canvas canvas) {
        //canvas.drawColor(Color.CYAN);

        Paint paint = new Paint();
        paint.setAntiAlias(true);
        paint.setAlpha(45);
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(Color.CYAN);

        canvas.drawRect(getView().getLeft(), getView().getTop(), getView().getRight(), getView().getBottom(), paint);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,由于我触摸的位置,蓝色矩形与下方的视图稍微不对齐 - 我希望它完全覆盖视图,无论用户触摸的位置如何.

在此输入图像描述

android canvas shadow drag

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

当按下后退按钮并打开导航抽屉时,我的应用程序关闭而不是关闭抽屉

我正在尝试对我的应用程序实施材料设计,并且正在学习教程。我的问题是打开导航抽屉时,单击手机上的“后退”按钮,它将关闭我的应用程序,而不是关闭抽屉。如何关闭抽屉而不退出应用程序?谢谢。

这是代码

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener {

private static String TAG = MainActivity.class.getSimpleName();

private Toolbar mToolbar;
private FragmentDrawer drawerFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mToolbar = (Toolbar) findViewById(R.id.toolbar);

    setSupportActionBar(mToolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);

    drawerFragment = (FragmentDrawer)
            getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
    drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar);
    drawerFragment.setDrawerListener(this);

    // display the first navigation drawer view on app launch
    displayView(0);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments navigation-drawer material-design

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