小编Mat*_*osk的帖子

Java file.getPath()返回语言修改的路径

我需要用

fileChooser.getSelectedFile()
Run Code Online (Sandbox Code Playgroud)

但是它始终返回语言修改路径,因为某些目录在osX中被翻译.例如文件夹"/ Downloads"被翻译成我的系统语言"/Stiahnuté",但真正的路径是"/ Downloads"

返回:

/Users/John/Stiahnuté
Run Code Online (Sandbox Code Playgroud)

期望

/Users/John/Downloads
Run Code Online (Sandbox Code Playgroud)

如果我选择一些子目录,则fileChooser.getSelectedFile()将再次返回正确的路径.它看起来总是只翻译路径中的最后一个目录

/Users/John/Downloads/subDirectory
Run Code Online (Sandbox Code Playgroud)

码:

saveButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
                JFileChooser fileChooser = new JFileChooser();
                fileChooser.setFileFilter(new FolderFilter());
                fileChooser
                        .setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
                if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
                    File selectedFile = fileChooser.getSelectedFile();
                    System.out.println("save path: "
                            + selectedFile.getPath());
                    doSomething(selectedFile);
                }
            }
       });
Run Code Online (Sandbox Code Playgroud)

更新:

我做了一点解决方法,但这不是完美的解决方案.但它对我有用.

JFileChooser fileChooser = new JFileChooser();
                FileNameExtensionFilter filter = new FileNameExtensionFilter(
                        "Directories", "dir");
                fileChooser.setFileFilter(filter);
                if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
                    File selectedFile = fileChooser.getSelectedFile();
                    File newDir = new File(selectedFile.getPath());
                    if (!newDir.exists()) { …
Run Code Online (Sandbox Code Playgroud)

java

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

滚动视图中的全屏布局

我想在ScrollView中有2个布局.第一个布局应该在全屏幕上,第二个布局应该在第一个布局下面.活动开始时,无法看到第二个布局.滚动屏幕后可以看到第二种布局.请查看我的图片以便更好地理解.

在此输入图像描述

android scrollview android-layout

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

Android:imageSwitcher适合屏幕

我有一个图像切换器的问题,以适应屏幕.请检查PIC 1. 屏幕边缘仍有白色可用空间.我想在PIC 2中实现效果.没有空的空间和imageswitcher完美适合屏幕.我可以使用imageView做这个效果:

android:scaleType="centerCrop"
Run Code Online (Sandbox Code Playgroud)

但它看起来centerCrop不适用于imageSwitcher.感谢您知道如何解决它.

更新:

这是我的XML代码:我在那里添加了 android:scaleType ="fitXY",但它没有帮助.

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:orientation="vertical" >

    <ImageSwitcher
        android:id="@+id/imageswitcher"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:src="@drawable/it_intro1" >
    </ImageSwitcher>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

解决方案: 最后它帮助添加了这行代码:imageView.setScaleType(ImageView.ScaleType.FIT_XY);

public View makeView() {

            ImageView imageView = new ImageView(Introduction.this);
             imageView.setScaleType(ImageView.ScaleType.FIT_XY);

            LayoutParams params = new ImageSwitcher.LayoutParams(
                    LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);

            imageView.setLayoutParams(params);
            return imageView;

        }
Run Code Online (Sandbox Code Playgroud)

android screen imageswitcher

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