小编Pri*_*tel的帖子

如何在DrawerLayout的NavigationView中设置未读通知计数?

我使用Android Design Support LibraryDrawerLayout中创建了一个NavigationView

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/drawer_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:fitsSystemWindows="true">

     <!-- other views -->

     <android.support.design.widget.NavigationView
         android:id="@+id/navigation"
         android:layout_width="wrap_content"
         android:layout_height="match_parent"
         android:layout_gravity="start"
         app:menu="@menu/my_navigation_items" />
 </android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

my_navigation_items.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/bookmarks_drawer"
            android:icon="@drawable/ic_drawer_bookmarks"
            android:title="@string/bookmarks" />
        <item
            android:id="@+id/alerts_drawer"
            android:icon="@drawable/ic_drawer_alerts"
            android:title="@string/alerts" />
        <item
            android:id="@+id/settings_drawer"
            android:icon="@drawable/ic_drawer_settings"
            android:title="@string/settings" />
    </group> 
</menu>
Run Code Online (Sandbox Code Playgroud)

现在,我想为NavigationView下面的图像中的每个项目设置未读通知计数器:

未读通知计数器

如何在项目上设置未读通知计数器NavigationView

android android-support-library drawerlayout android-design-library navigationview

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

什么是CollapsingToolbarLayout中使用的layout_collapseParallaxMultiplier?

什么是layout_collapseParallaxMultiplier使用CollapsingToolbarLayout

我见过android开发者文档,但我不明白.

请解释此参数及其layout_collapseMode与示例一起使用时的效果.

下面是一个简单的xml示例.

<android.support.design.widget.CollapsingToolbarLayout ... >
<ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:src="@drawable/random_pattern"
        android:scaleType="fitXY"
        app:layout_collapseMode="parallax"
        app:layout_collapseParallaxMultiplier="0.75"/>
 </android.support.design.widget.CollapsingToolbarLayout>
Run Code Online (Sandbox Code Playgroud)

android android-support-library material-design android-collapsingtoolbarlayout

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

RxJava:如何使用zip操作符处理错误?

我正在使用RxJava和RxAndroid与Retrofit2.

Observable<ResponseOne> responseOneObservable = getRetrofitClient().getDataOne()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());

Observable<ResponseTwo> responseTwoObservable = getRetrofitClient().getDataTwo()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
Run Code Online (Sandbox Code Playgroud)

在上面两个Observer上使用如下的zip操作符.

 Observable<ArrayList<TestData>> testDataObservable = Observable.zip(responseOneObservable, responseTwoObservable, new Func2<ResponseOne, ResponseTwo, ArrayList<TestData>>() {
            @Override
                public ArrayList<TestData> call(ResponseOne responseOne, ResponseTwo responseTwo) {
                  ArrayList<TestData> testDataList = new ArrayList();
                      // Add test data from response responseOne & responseTwo
                  return testDataList;
            } 
    })
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Subscriber<ArrayList<TestData>>() {

        @Override
        public void onNext(ArrayList<TestData> testDataList) {

        }

        @Override
        public void onCompleted() {
            Log.d(TAG, "onCompleted" );
        }

        @Override
        public void onError(Throwable t) {
            Log.d(TAG, "onError Throwable: …
Run Code Online (Sandbox Code Playgroud)

error-handling android rx-java rx-android retrofit2

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

如何使用BluetoothHeadset API获取蓝牙连接设备

我想获得蓝牙连接设备列表......而不仅仅是配对设备.

BluetoothHeadsetAPI级别11中找到了API,它提供getConnectedDevices()了获取连接蓝牙设备列表的方法.

如何使用此API获取蓝牙连接设备列表?

android bluetooth bluetooth-sco

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

Android Studio v2.2.2的"代码清理......"功能

在Android Studio v2.2.2中,可在选项下使用代码清理功能Analyze.

Analyze >> Code Cleanup 
Run Code Online (Sandbox Code Playgroud)

这个选项与代码完全相同?

请详细说明.

android code-cleanup android-studio

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

Android工具栏后退箭头,带有WhatsApp等图标

如何在Android工具栏中显示带有后箭头的图标,如WhatsApp?

我使用下面的代码在工具栏中设置后退箭头和图标.

 toolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);
 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 getSupportActionBar().setDisplayShowHomeEnabled(true);
 getSupportActionBar().setHomeButtonEnabled(true);
 toolbar.setLogo(icon);
Run Code Online (Sandbox Code Playgroud)

但我得到的结果如下图所示.

在此输入图像描述

后箭头后我想立即图标.我不希望像WhatsApp下面的图像下方的箭头和图标之间有任何差距.

在此输入图像描述

如何在WhatsApp工具栏中设置带有后退箭头的图标?

android toolbar android-appcompat android-support-library

8
推荐指数
2
解决办法
9109
查看次数

Retrofit2 + RxJava2 + RxAndroid错误

我在尝试打包Subscriber和订阅时收到如下错误消息.

can not resolve method 'subscribe(anonymous rx.Subscriber<GooglePlacesResponse>)'
Run Code Online (Sandbox Code Playgroud)

的build.gradle

// JSON Parsing
compile 'com.google.code.gson:gson:2.6.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.2'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1
Run Code Online (Sandbox Code Playgroud)

GooglePlaceService.java

public interface GooglePlaceService {

    public static final String GOOGLE_API_KEY = "google_api_key";

    @GET("maps/api/place/nearbysearch/json?radius=2000&key="+GOOGLE_API_KEY)
    Observable<GooglePlacesResponse> getNearbyPlaces(@Query("location") String location);
}
Run Code Online (Sandbox Code Playgroud)

ApiUtils.java

public class ApiUtils {    

    public static final String GOOGLE_PLACE_BASE_URL = "https://maps.googleapis.com/";

    public static GooglePlaceService getGooglePlaceService() {
        return getClient(GOOGLE_PLACE_BASE_URL).create(GooglePlaceService.class);
    }

    public static Retrofit getClient(String baseUrl) {

        Retrofit retrofit = new Retrofit.Builder()
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .baseUrl(baseUrl)
                .build();

        return retrofit; …
Run Code Online (Sandbox Code Playgroud)

java android rx-android retrofit2 rx-java2

8
推荐指数
2
解决办法
7462
查看次数

onTouchEvent中的CoordinatorLayout NullPointerException

我得到NullPointerExceptiononTouchEventCoordinatorLayout.

我使用DrawerLayoutCollapsingToolbarLayout支持Android程序兼容性的v23.0.0库.

我的观察是在滚动CollapsingToolbarLayout或点击抽屉项目时随机发生崩溃.

有没有人面临这个问题?任何解决这个例外的工作?

logcat的:

08-22 15:16:34.657: E/AndroidRuntime(27596): java.lang.NullPointerException: Attempt to invoke virtual method 'float android.view.MotionEvent.getX()' on a null object reference
08-22 15:16:34.657: E/AndroidRuntime(27596):    at android.view.View.onTouchEvent(View.java:9321)
08-22 15:16:34.657: E/AndroidRuntime(27596):    at android.support.design.widget.CoordinatorLayout.onTouchEvent(CoordinatorLayout.java:449)
08-22 15:16:34.657: E/AndroidRuntime(27596):    at android.view.View.dispatchTouchEvent(View.java:8388)
08-22 15:16:34.657: E/AndroidRuntime(27596):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2398)
08-22 15:16:34.657: E/AndroidRuntime(27596):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2158)
08-22 15:16:34.657: E/AndroidRuntime(27596):    at android.support.v4.widget.DrawerLayout.cancelChildViewTouch(DrawerLayout.java:1491)
08-22 15:16:34.657: E/AndroidRuntime(27596):    at android.support.v4.widget.DrawerLayout$ViewDragCallback.peekDrawer(DrawerLayout.java:1739)
08-22 15:16:34.657: E/AndroidRuntime(27596):    at android.support.v4.widget.DrawerLayout$ViewDragCallback.access$000(DrawerLayout.java:1624)
08-22 15:16:34.657: E/AndroidRuntime(27596):    at android.support.v4.widget.DrawerLayout$ViewDragCallback$1.run(DrawerLayout.java:1630)
08-22 15:16:34.657: …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat drawerlayout android-coordinatorlayout

7
推荐指数
2
解决办法
3267
查看次数

Google Play安全警报 - 您的应用正在使用HostnameVerifier的不安全实施

最近我的一个应用程序收到了来自Google Play的安全警报,如下所示.

您的应用程序正在使用HostnameVerifier的不安全实现.有关修复漏洞和截止日期的详细信息,请参阅Google Play帮助中心文章的链接.

以下是我的代码.

HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier(){ 
    public boolean verify(String arg0, SSLSession arg1) {
        return true;
}}); 
Run Code Online (Sandbox Code Playgroud)

任何人都可以通过示例解释一下,我应该做些什么更改来修复此警告?

android google-play android-security

7
推荐指数
3
解决办法
8924
查看次数

如何在TabLayout中的Tabs上显示未读通知计数器?

我正在使用android支持设计库的TabLayout.

我想在标签上显示未读通知计数器,标题如下图所示.

在此输入图像描述

如何在Tab里面设置未读数TabLayout

tabs android android-tabs android-design-library android-tablayout

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