Как я могу преобразовать все окончания строки в CRLF, LF или CR во время операций SVN

Я знаю, что на него ответили и приняли, но эти ответы не сработали для меня. Возможно, произошли изменения в RelativeLayout.LayoutParams или даже в GoogleMaps, так как он был дан ответ.

В моих попытках с существующими ответами я понял, что может быть больше правил LayoutParam для кнопки компаса, которые переопределяют мои попытки переместить кнопку компаса, где я этого хотел. Я экспериментировал, удалив несколько параметров вроде этого:

RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)
                locationButton.getLayoutParams();

layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_TOP);
layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_START);
layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_END);

И затем добавив новые правила, как в нескольких ответах. Но он все еще не работал должным образом. Чаще всего кнопка оставалась где-то с левой стороны.

Я решил просто создать новые LayoutParams и заменить существующие и ... он работал отлично!

Я изначально использовал тег вида для GoogleMapCompass, но вопрос касался GoogleMapMyLocationButton. Поэтому я прокомментировал строку GoogleMapCompass и поместил строку GoogleMapMyLocationButton.

Вот код для MapFragment.java:

import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;


public class MapFragment extends Fragment implements OnMapReadyCallback {
    private static final String TAG = MapFragment.class.getSimpleName();

    private SupportMapFragment mapFragment = null;

    public MapFragment() {
        // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_map, container, false);

        Log.d(TAG, "onCreateView()");

        mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
        mapFragment.setRetainInstance(true);

        mapFragment.getMapAsync(this);

        return view.findViewById(R.id.map);
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        Log.d(TAG, "onMapReady()");

        View mapView = mapFragment.getView();

        moveCompassButton(mapView);
    }

    /**
     * Move the compass button to the right side, centered vertically.
     */
    public void moveCompassButton(View mapView) {
        try {
            assert mapView != null; // skip this if the mapView has not been set yet

            Log.d(TAG, "moveCompassButton()");

            // View view = mapView.findViewWithTag("GoogleMapCompass");
            View view = mapView.findViewWithTag("GoogleMapMyLocationButton");

            // move the compass button to the right side, centered
            RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
            layoutParams.addRule(RelativeLayout.ALIGN_PARENT_END, RelativeLayout.TRUE);
            layoutParams.addRule(RelativeLayout.CENTER_VERTICAL);
            layoutParams.setMarginEnd(18);

            view.setLayoutParams(layoutParams);
        } catch (Exception ex) {
            Log.e(TAG, "moveCompassButton() - failed: " + ex.getLocalizedMessage());
            ex.printStackTrace();
        }
    }
}
24
задан crennie 10 December 2013 в 19:59
поделиться

3 ответа

Я не думаю предварительная фиксация , рычаг может на самом деле изменить данные, которые фиксируются - это может запретить фиксацию, но я не думаю, что это может сделать преобразование для Вас.

Это кажется, что Вы хотите набор 'svn:eol-стиля' свойства 'собственному компоненту' - это автоматически преобразует новые строки в то, что используется на Вашей платформе (используйте 'CRLF', 'CR' или 'LF' для получения тех независимо от того, что ОС хочет).

можно использовать автосвойства так, чтобы все будущие файлы, которые Вы создаете, имели этот набор свойств (автоматические опоры обрабатываются клиентские, таким образом, необходимо было бы настроить это для каждого пользователя).

32
ответ дан ctuffli 28 November 2019 в 23:35
поделиться

Добавьте рычаг перед фиксацией , который анализирует содержание файла и выполняет порчу CRLF/LF/CR/etc для Вас, прежде чем это будет записано в SVN.

2
ответ дан OJ. 28 November 2019 в 23:35
поделиться

Можно рассмотреть использование команды как Linux dos2unix для преобразования. Будучи командой Linux, это просто в использовании он в пакетном режиме со сценариями и т.д. Я не знаю, существует ли эквивалент для других операционных систем.

2
ответ дан Yuval F 28 November 2019 в 23:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: