NativeActivity新增控制元件和輸入法
阿新 • • 發佈:2019-02-20
Android3.0推出了NativeActivity,也讓很多C/CPP的開發者有了發揮餘地。
NativeActivity允許Android開發者使用C/C++在NDK環境中處理Activity的生命週期,但是經過好幾天的嘗試,發現在C的方向還是很難滿足UI方面的需求,比如簡單的新增一些輸入框,或者顯示輸入法等等。
經過幾天的琢磨發現可以通過繼承NativeActivity的方法來解決這個問題。
但是這個方法感覺是在整個WindowManager上新增的控制元件,但是這個也是我現在為止找到的最好的方法了。
NativeActivity允許Android開發者使用C/C++在NDK環境中處理Activity的生命週期,但是經過好幾天的嘗試,發現在C的方向還是很難滿足UI方面的需求,比如簡單的新增一些輸入框,或者顯示輸入法等等。
經過幾天的琢磨發現可以通過繼承NativeActivity的方法來解決這個問題。
public class CustomNativeActivity extends NativeActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindowManager().addView(view, layoutParams);//view即為需要新增的控制元件,layoutParams為引數
}
}
<activity android:name="com.xxx.xxx.CustomNativeActivity"
android:label="@string/app_name"
android:screenOrientation="landscape">
<!-- Tell NativeActivity the name of or .so -->
<meta-data android:name="android.app.lib_name" android:value="hello-jni" />
</activity>
但是這個方法感覺是在整個WindowManager上新增的控制元件,但是這個也是我現在為止找到的最好的方法了。