我使用Android Design Support Library在DrawerLayout中创建了一个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
什么是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
我正在使用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) 我想获得蓝牙连接设备列表......而不仅仅是配对设备.
我BluetoothHeadset在API级别11中找到了API,它提供getConnectedDevices()了获取连接蓝牙设备列表的方法.
如何使用此API获取蓝牙连接设备列表?
在Android Studio v2.2.2中,可在选项下使用代码清理功能Analyze.
Analyze >> Code Cleanup
Run Code Online (Sandbox Code Playgroud)
这个选项与代码完全相同?
请详细说明.
如何在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工具栏中设置带有后退箭头的图标?
我在尝试打包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) 我得到NullPointerException的onTouchEvent的CoordinatorLayout.
我使用DrawerLayout与CollapsingToolbarLayout支持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
最近我的一个应用程序收到了来自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 ×10
drawerlayout ×2
retrofit2 ×2
rx-android ×2
android-collapsingtoolbarlayout ×1
android-tabs ×1
bluetooth ×1
code-cleanup ×1
google-play ×1
java ×1
rx-java ×1
rx-java2 ×1
tabs ×1
toolbar ×1