在我的应用程序中,我有这样的activity_main.xml: -
<Coordinator Layout>
<AppBarLayout>
<CollapsingToolbarLayout>
<ImageView/>
<Toolbar/>
</CollapsingToolbarLayout>
</AppBarLayout>
<RecyclerView/>
</Coordinating Layout>
Run Code Online (Sandbox Code Playgroud)
Layout.xml ----- >>>
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/theme_background"
android:id="@+id/drawerlayout"
>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:id="@+id/activity_main_id"
tools:context="objectdistance.ajai.ram.sita.gallery.MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="48dp"
app:expandedTitleMarginEnd="64dp"
android:fitsSystemWindows="true">
<ImageView
android:id="@+id/imagetoolbar"
android:layout_width="match_parent"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
android:foreground="@drawable/image_header_foreground"
app:layout_scrollFlags="scroll"
app:layout_collapseMode="parallax"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:background="@drawable/theme_background"
app:layout_collapseMode="pin" >
<Spinner
android:id="@+id/spinner_nav"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:dropDownVerticalOffset="?attr/actionBarSize" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/list" …
Run Code Online (Sandbox Code Playgroud) android fastscroll material-design android-recyclerview android-coordinatorlayout
我正在使用此代码使按钮的两个角变圆.
let buttonPath = UIBezierPath(roundedRect: button.bounds,
byRoundingCorners: .TopLeft | .BottomLeft,
cornerRadii: CGSizeMake(1.0, 1.0))
Run Code Online (Sandbox Code Playgroud)
它抛出一个错误:
二元运算符'|' 不能应用于两个UIRectCorner操作数.
如何在Swift 2.0中使用此方法?
我想通过p2p连接连接2个或更多Android设备.据我所知,我可以在一个wifi网络下使用Wi-Fi Direct https://developer.android.com/guide/topics/connectivity/wifip2p.html
但我想连接位于不同地方但可能只有一个IP(vpn或其他)的Android客户端.我怎样才能做到这一点?
这是我的算法
Client_1 register its name and current IP on Server
Client_2 register its name and current IP on Server
Client_1 request registred IP from Server by Client_2 name
Client_2 request registred IP from Server by Client_1 name
Client_1 send message directly to Client_2 IP
Run Code Online (Sandbox Code Playgroud)
如果Client_1和Client_2具有相同的IP,则此算法将不起作用.或者如果客户端在NAT后面.
是否有现成的库以这种方式连接2个或更多Android设备?
我正在将ViewPager添加到Android Studio中的应用程序中,但是当我尝试运行它时,它将抛出ClassNotFoundException重新分类为“ android.support.v4.view.ViewPager”。
做了大量的谷歌搜索,并尝试更改build.gradle中的依赖项,但没有任何改变可以改变我所看到的错误。
以下是Logcat的相关错误行:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.playmusic/com.example.android.playmusic.MainActivity}: android.view.InflateException: Binary XML file line #60: Binary XML file line #60: Error inflating class android.support.v4.view.ViewPager
...
Caused by: android.view.InflateException: Binary XML file line #60: Binary XML file line #60: Error inflating class android.support.v4.view.ViewPager
Caused by: android.view.InflateException: Binary XML file line #60: Error inflating class android.support.v4.view.ViewPager
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.view.ViewPager" on path: DexPathList[[zip file "/data/app/com.example.android.playmusic--Sh7PlYKQR0g2meRQdvXcg==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.android.playmusic--Sh7PlYKQR0g2meRQdvXcg==/lib/arm64, /system/lib64, /system/vendor/lib64]]
Run Code Online (Sandbox Code Playgroud)
这是main_activity.xml布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto"> …
Run Code Online (Sandbox Code Playgroud) 我正在使用TarsosDSP实时计算音高.它使用AudioDispatcher实现Runnable并通过handlePitch方法发布结果以在主线程中使用.
我正在使用SurfaceView在更新时绘制此值.SurfaceView还需要另一个线程在画布上绘制.所以我有2个可运行的对象.我无法管理如何通过一个线程更新表面视图,同时从另一个线程(audiodispatcher)获取音高值.
我只想使用我在handlePitch()方法中获得的分值来更新我在surfaceview上的绘图.但我的应用冻结了.任何的想法?
在MainAcitivity.java中(onCreate(...))
myView = (MySurfaceView) findViewById(R.id.myview);
int sr = 44100;//The sample rate
int bs = 2048;
AudioDispatcher d = AudioDispatcherFactory.fromDefaultMicrophone(sr,bs,0);
PitchDetectionHandler printPitch = new PitchDetectionHandler() {
@Override
public void handlePitch(final PitchDetectionResult pitchDetectionResult, AudioEvent audioEvent) {
final float p = pitchDetectionResult.getPitch();
runOnUiThread(new Runnable() {
@Override
public void run() {
if (p != -1){
float cent = (float) (1200*Math.log(p/8.176)/Math.log(2)) % 12;
System.out.println(cent);
myView.setCent(cent);
}
}
});
}
};
PitchProcessor.PitchEstimationAlgorithm algo = PitchProcessor.PitchEstimationAlgorithm.YIN; //use YIN
AudioProcessor pitchEstimator = new PitchProcessor(algo, sr,bs,printPitch); …
Run Code Online (Sandbox Code Playgroud) 我使用Android Studio 2.2.2附带的Firebase Assistant来创建Firebase项目.首先,我连接到之前的firebase项目,然后我想创建一个新的Firebase项目,但它始终显示"将您的应用程序连接到Firebase"步骤为已连接,并且没有按钮可以将其恢复.我手动配置它但我想知道是否有办法断开连接并重新连接它.
谢谢
如您所知,android studio 有一个Navigation Drawer Activity,它可以在 layout 文件夹中自行创建一堆布局。
nav_header_main.xml
是包含 NavigationView 标头组件的布局。我在上图中突出显示了它,它有以下代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sideNavLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:background="@drawable/side_nav_bar"
android:gravity="bottom"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:src="@android:drawable/sym_def_app_icon" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="Android Studio"
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="android.studio@android.com" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我想更改上图中突出显示部分的背景,MainActivity.java
如下所示:
LinearLayout sideNavLayout;
sideNavLayout = (LinearLayout) findViewById(R.id.sideNavLayout);
sideNavLayout.setBackgroundResource(R.drawable.my_side_nav_bar);
Run Code Online (Sandbox Code Playgroud)
但是无论我在哪里使用它,我都会收到错误消息:
java.lang.NullPointerException
任何人都可以在这方面帮助我吗?
android ×6
java ×2
fastscroll ×1
firebase ×1
gradle ×1
ios ×1
layout ×1
networking ×1
p2p ×1
surfaceview ×1
swift ×1
tarsosdsp ×1
uibezierpath ×1
wifi-direct ×1