小编Mat*_*teo的帖子

预备棒棒糖设备上的Android setBackgroundTintList

我正在和我一起工作FloatingActionButton.用户应该能够在onClick事件中切换FAB背景颜色.

但是,建议的调用setBackgroundTintList似乎只能兼容21+ API.

我如何 - 正确 - 在棒棒糖前设备上进行操作?我可以使用任何替代方案吗?

提前致谢.

android setbackground floating-action-button

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

在AppBarLayout中滚动第二个孩子

我试图获得这种效果,如果用户滚动RecyclerView某个布局与回收器一起向上滚动并消失在后面Toolbar.

使用可以获得类似的行为CoordinatorLayout,这可以通过设置来实现

app:layout_behavior="@string/appbar_scrolling_view_behavior"
Run Code Online (Sandbox Code Playgroud)

在上述Recycler,并做

<android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:layout_scrollFlags="scroll|enterAlways"/>

</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)

此外,如果我将第二个孩子放入其中AppBarLayout并设置app:layout_scrollFlags为它,则获得的效果是相同的,两个布局都与Recycler一起滚动.

我想要实现的是保持第一个孩子(工具栏)固定在位,让第二个孩子(a LinearLayout)滚动并隐藏在工具栏后面.不幸的是我无法达到这种行为.

没有使用第三部分库可以吗?提前致谢,对不起我的英语.

android custom-scrolling android-coordinatorlayout android-appbarlayout

12
推荐指数
1
解决办法
654
查看次数

使用新的支持设计库时,状态栏不透明

在使用新的Android支持设计库时,在我的应用程序中尝试设置透明状态栏时,我遇到了一些问题.

具体来说,我正在使用CoordinatorLayout+ AppBarLayout+ CollapsingToolbarLayout+ Toolbar这种分层次序的组合.

我注意到状态栏首先是透明的然后我可以看到从透明到全黑的转换.

我在值/样式中这样做:

<item name="android:windowTranslucentStatus">true</item>
Run Code Online (Sandbox Code Playgroud)

这在我的布局中:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:elevation="4dp"
    android:background="?android:colorPrimary"
    android:layout_width="match_parent"
    android:layout_height="128dp">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsingToolbarLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:expandedTitleMarginStart="64dp">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:minHeight="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

    </android.support.design.widget.CollapsingToolbarLayout>

</android.support.design.widget.AppBarLayout>

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginEnd="16dp"
            app:cardCornerRadius="4dp"
            app:cardElevation="6dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Latest Stories"/>

                <TextView
                    android:id="@+id/latest_story_title"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Title Example"/>

                <TextView
                    android:id="@+id/latest_story_preview"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Content …
Run Code Online (Sandbox Code Playgroud)

android android-toolbar android-collapsingtoolbarlayout

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

ViewPager 滚动布局行为不适用于工具栏

我正在处理与ViewPager,AppBarLayout和相关的奇怪事情Toolbar

在我的布局中,我有一个标准的 Material Design 设置,例如:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="...">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/grey_900"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:layout_scrollFlags="scroll|enterAlways" />

        <android.support.design.widget.TabLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill"
            app:tabBackground="@color/grey_900"
            app:tabIndicatorColor="@color/white_1000"
            app:tabIndicatorHeight="4dp" />

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.FloatingActionButton
        ...
        app:layout_behavior="com.inkstinctapp.inkstinct.FabBehavior" />

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

我的 ViewPager 包含 4 个具有此布局的片段:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <me.zhanghai.android.materialprogressbar.MaterialProgressBar
        android:layout_width="56dp"
        android:layout_height="56dp"
        android:indeterminate="true"
        android:tint="@color/white_1000"
        android:layout_centerInParent="true" />

    <android.support.v4.widget.SwipeRefreshLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    </android.support.v4.widget.SwipeRefreshLayout>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我无法让工具栏滚动,我尝试了以下所有组合:

app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:layout_scrollFlags="scroll|enterAlways"
Run Code Online (Sandbox Code Playgroud)

它们似乎都不起作用,除非我 …

android android-layout android-fragments android-viewpager android-toolbar

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

android:weight 在 JavaFX 中的修正

我正在开发一个用于 JavaFX 培训的小软件。

在 Android 中,在 a 中LinearLayout,我可以通过设置变量来扩展视图以填充整个可用空间android:weight="someValue",不幸的是我无法实现这是 JavaFX。

我尝试使用最大/最小/首选高度,但没有用。

任何帮助将非常感激。

java android javafx android-layout-weight

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

Android VectorDrawable作为复合抽屉

由于通过陈述这个Android开发者博客文章中,我们现在可以使用VectorDrawables在Android API 7+使用AppCompat 23.2.0及更高版本.

除了使用drawables作为TextView的复合物之外,一切似乎都适合我.

通常,人们可以这样做:

            customTab.setCompoundDrawablesWithIntrinsicBounds(
                0,
                R.drawable.my_vector,
                0,
                0
            );
Run Code Online (Sandbox Code Playgroud)

不幸的是,目前还没有工作,我无法找到解决此问题的方法.

正如帖子所述,唯一可用和有效的方法是xml,使用app:srcCompat="@drawable/..."和JavasetImageResource(...)

如何在setCompoundDrawable()方法中使用新的矢量drawable支持?

提前致谢.

编辑:

根据要求,这是VectorDrawableCompat课程的结果:

探索标签

xml是:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="98"
    android:viewportHeight="102">

<path
    android:fillColor="#4D4D4D"
    android:strokeWidth="2"
    android:strokeColor="#4D4D4D"
    android:pathData="M63.3336386,72.2631001 C56.7778507,76.9021242
48.7563953,79.6307404
40.09319,79.6307404 C17.9503315,79.6307404 0,61.804793 0,39.8153702
C0,17.8259473 17.9503315,0 40.09319,0 C62.2360484,0 80.1863799,17.8259473
80.1863799,39.8153702 C80.1863799,50.8100816 75.6987973,60.7639242
68.4433567,67.9690887 L96.7320074,96.0617174 C98.0293966,97.3501165
97.9978616,99.4159703 96.6953405,100.709466 C95.3837385,102.011979
93.2974318,102.019264 92.0151615,100.745879 L63.3336386,72.2631001
L63.3336386,72.2631001 L63.3336386,72.2631001 Z M40.09319,74.9465792
C59.6310061,74.9465792 75.4695341,59.217802 75.4695341,39.8153702
C75.4695341,20.4129383 59.6310061,4.6841612 40.09319,4.6841612
C20.5553738,4.6841612 …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-vectordrawable

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

ViewPager + FragmentStatePagerAdapter未按预期工作

有很多类似的问题,但没有一个解决了我的问题.

我在我的应用程序中嵌套了ViewPagers和嵌套FragmentStatePagerAdapters.

详细信息,创建第一个ViewPager(由4个片段适配器支持),其第一个片段包含其他3个片段.

我的问题是,基于某些事件,中间的片段根本没有显示.

一旦应用程序启动,一切都按预期工作并正确显示.

如果我在父ViewPager上切换页面,基于页面的行为是不同的:如果我从第一个(包含嵌套的ViewPager)到第二个然后回到第一个,那么一切都按预期工作; 如果我转到任何其他页面然后回到第一页,则ViewPager首先完全透明但仍可刷卡.为了在屏幕上重新绘制视图,我必须从第1页到第3页滑动几次,但无论如何,第2片段都没有显示.它完全是透明的.

我已经阅读了很多类似的问题,但找不到任何可行的修复方法.我此刻很困惑,我已经尝试了一切.

这是我的代码供参考:

家长活动:

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

    mCoordinatorLayout = (CoordinatorLayout) findViewById(R.id.feed_coordinator);
    mFloatingActionButton = (FloatingActionButton) findViewById(R.id.feed_floating_upload);
    mViewPager = (ViewPager) findViewById(R.id.feed_view_pager);
    mTabLayout = (TabLayout) findViewById(R.id.feed_tab_layout);

    setupViewPager(); // this sets adapter to viewpager
    mTabLayout.setupWithViewPager(mViewPager);
    setupTabLayout();

}

private class ParentPagerAdapter extends FragmentStatePagerAdapter {
    public ParentPagerAdapter(FragmentManager fm) {
        super(fm);
    }
    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                return new Frag1();
            case 1:
                return new Frag2();
            case …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager fragmentstatepageradapter

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

尝试检索PackageInfo时获取Null上下文

花了一整天的时间,但无法让它工作.

我正在尝试创建一个app抽屉.我想获得当前安装的应用程序列表,然后将其放在GridLayout中.

当我尝试getPackageManager从扩展我的MainActivity的类调用时,我得到一个nullPointerException .

InstalledApp类:

public class InstalledApp extends MainActivity {
Context context = this;

public InstalledApp(Context c) {
    this.context = c;
}

class PInfo {
    public String appname = "";
    public String pname = "";
    public String versionName = "";
    public int versionCode = 0;
    public Drawable icon;
    public void prettyPrint() {
        System.out.println(appname + "\t" + pname + "\t" + versionName + "\t" + versionCode);
    }
}

public ArrayList<PInfo> getPackages() {
    ArrayList<PInfo> apps = getInstalledApps(false); /* false …
Run Code Online (Sandbox Code Playgroud)

java android android-package-managers

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

TextView 数字占用太多空间

我知道这已经被问过很多次了,但我有一个不同的问题。

当我在 textview 中设置一个数字并将其设置textSize为某个大值(在我的情况下15pt)时,这几乎是发生的事情:

TextView 未使用空间

如您所见,编辑器在数字的顶部和底部显示了大量未使用的空间。我知道这有点与字体有关。

有没有什么办法解决这一问题?

为了澄清起见,我添加了一个代码,以便您可以测试自己:

<TextView
            android:id="@+id/text_two"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="2"
            android:textSize="15pt"
            android:textColor="@color/accent_material_dark"
            android:gravity="center"/>
Run Code Online (Sandbox Code Playgroud)

进一步澄清,红色矩形显示了我想删除的空间:

TextView 未使用空间 - 澄清

先感谢您。

编辑:

<RelativeLayout
    android:layout_width="56dp"
    android:layout_height="56dp"
    android:gravity="center">

    <Button
        android:id="@+id/dial_number_two"
        android:layout_width="56dp"
        android:layout_height="56dp"
        android:layout_centerInParent="true"
        android:background="@drawable/ripple_number"/>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:orientation="vertical"
        android:gravity="center"
        android:clickable="false"
        android:focusable="false"
        android:elevation="10dp">

        <TextView
            android:id="@+id/text_two"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="2"
            android:textSize="15pt"
            android:textColor="@color/accent_material_dark"
            android:background="#ff0000"
            android:gravity="center"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ABC"
            android:textSize="4pt"
            android:visibility="gone"
            android:textColor="@color/background_material_light"
            android:gravity="center"/>

    </LinearLayout>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android textview text-size

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