小编Rob*_*Rob的帖子

setContentView()与地图片段相比较慢

我正在开发一个应用程序,将谷歌地图(api v2)显示为片段.当应用程序加载时,它会在显示地图之前显示一个空白的白色屏幕几秒钟.我已经使用了日志语句来查看延迟的位置,但我不知道它为什么这么慢.

这是我的onCreate:

@Override
protected void onCreate(Bundle savedInstanceState) {
    Log.i(TAG, "onCreate Start -------------------------------");
    super.onCreate(savedInstanceState);
    Log.i(TAG, "onCreate 1 -------------------------------");
    setContentView(R.layout.activity_main);
    Log.i(TAG, "onCreate 2 -------------------------------");
    do_async_setup();
    Log.i(TAG, "onCreate 3 -------------------------------");
    prefs = getSharedPreferences(PREFS_NAME, 0);
    prefs_editor = prefs.edit();
    Log.i(TAG, "onCreate Finish -------------------------------"); 
Run Code Online (Sandbox Code Playgroud)

这是输出.

01-20 10:05:28.802: I/HeadsUp(19544): onCreate Start -------------------------------
01-20 10:05:28.802: I/HeadsUp(19544): onCreate 1 -------------------------------
01-20 10:05:30.396: I/HeadsUp(19544): onCreate 2 -------------------------------
01-20 10:05:30.396: I/HeadsUp(19544): onCreate 3 -------------------------------
01-20 10:05:30.403: I/HeadsUp(19544): onCreate Finish -------------------------------
Run Code Online (Sandbox Code Playgroud)

你可以看到setContentView有1.5秒的延迟.这是我的布局.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

<fragment xmlns:android="http://schemas.android.com/apk/res/android" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-maps-v2

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

映射api2 animateCamera速度问题

我正在尝试学习android,并使用新的googlemaps v2 api玩应用程序.

我有几个菜单项,一个缩放到当前位置,一个最终将缩放到另一个位置.第一个(在下面的代码中显示show_horizo​​n)使地图旋转,第二个将地图设置为静态,在屏幕顶部显示北.

我已将它们设置为长时间延迟6秒,但show_horizo​​n()似乎忽略了速度设置,而show_iss()则尊重它.

此外,一旦处于旋转模式,如果我滚动地图,触发器show_horizo​​n()现在将尊重速度设置.

因此,当我从非旋转切换到旋转时,它似乎只忽略代码,但是当我走另一条路时它会尊重它.切换时我试图停止监听器以防万一中断摄像机动画,但它没有区别?

任何线索或想法欢迎.

谢谢

这是代码.

我有一个传感器监听器像这样得到了手机的方位:

private SensorEventListener get_bearing = new SensorEventListener() {
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
    }
    @Override
    public void onSensorChanged(SensorEvent event) {
      float azimuth = event.values[0];
      set_bearing(azimuth);
    }
  }; 

private void set_bearing(float azimuth) {
    if (!rotate_view) {
        bearing = 0;
    } else {
        if (bearing != Math.round(azimuth)) {
            bearing = Math.round(azimuth);
            update_map();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

以及将地图更改为是否旋转的几种方法:

private void show_horizon() {
    current_pos = new LatLng(gps.getLatitude(), gps.getLongitude());
    rotate_view = true;
    tilt …
Run Code Online (Sandbox Code Playgroud)

android google-maps-api-2

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

javafx在运行时更改css

是否可以在JavaFX应用程序运行时更改css?

我正在寻找的效果是点击一个按钮改变皮肤或主题.

FXML如果存在任何差异,则UI位于文件中.

我试过了

Scene.getStylesheets()
  .add(getClass().getResource(skinFileName).toExternalForm()); 
Run Code Online (Sandbox Code Playgroud)

这没有效果.

谢谢

css javafx javafx-2 fxml

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

javafx SwingNode 不工作,直到窗口调整大小

我一直在使用此代码从 JavaFX8 尝试 SwingNode。问题是当窗口出现时我无法单击按钮,直到我调整了窗口大小。移动它不起作用。我需要最大化它或用鼠标调整它的大小以使按钮响应。

我意识到这可能是一个错误,因为 javafx8 仍处于测试阶段,但如果情况并非如此,我需要做些什么来使这项工作不先调整窗口大小?

    public class SwingNodeTest extends Application {

    private SwingNode swingNode;

    @Override
    public void start(Stage stage) {
        swingNode = new SwingNode();    
        createAndSetSwingContent();    
        StackPane pane = new StackPane();
        pane.getChildren().add(swingNode);    
        stage.setScene(new Scene(pane, 100, 50));
        stage.show();
    }

    private void createAndSetSwingContent() {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                swingNode.setContent(new JButton("Click me!"));
            }
        });
    }

    public static void main(String[] args) {
        Application.launch(args);           
    }
}
Run Code Online (Sandbox Code Playgroud)

java swing javafx javafx-8

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

javafx fxml在initialize()之外为null

在这段代码中:

public class ESM extends Application {

private Stage primaryStage;

@FXML 
private ToolBar mainToolBar;


@Override
public void start(final Stage stage) throws Exception {
    try{
        this.primaryStage = stage;
        Parent root = FXMLLoader.load(getClass().getResource("/nz/co/great_ape/esm3/main_window.fxml"));

        Scene scene = new Scene(root, 800, 700);            
        //  Setup main stage to be full screen, no min or max buttons.
        //  TODO:  How will this handle multiple screens?  Apparently not well :-(
        Screen screen = Screen.getPrimary();
        Rectangle2D bounds = screen.getVisualBounds();
        primaryStage.setX(bounds.getMinX());
        primaryStage.setY(bounds.getMinY());
        primaryStage.setWidth(bounds.getWidth());
        primaryStage.setHeight(bounds.getHeight());
        primaryStage.initStyle(StageStyle.UNDECORATED); 
        primaryStage.setTitle("ESM three");
        primaryStage.setScene(scene);
        primaryStage.show(); …
Run Code Online (Sandbox Code Playgroud)

javafx fxml

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