как изменить изображение часов в хронометре

Я настраиваю CustomTimePicker, и мне нужно изменить изображение часов средства выбора времени на любое другое изображение или значок часов.

    <TimePicker
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:timePickerMode="clock"
        /> 

"Есть ли их какой-либо стиль или что-то еще, чтобы заменить значок на часы с моим значком или изображением"


person bharat singh    schedule 18.06.2019    source источник
comment
Посмотрите, поможет ли этот ответ, где он показал, как создать собственный стиль для TimePicker на Android с разными цветами и атрибутами: stackoverflow.com/a/ 51037169/11040422   -  person SaadAAkash    schedule 18.06.2019
comment
спасибо вам обоим, но я должен изменить значок часов с моим значком часов. Пожалуйста, предоставьте информацию об этом и о том, как изменить значок часов на мой собственный значок.   -  person bharat singh    schedule 18.06.2019
comment
Мне нужно полностью настроить средство выбора времени с пользовательскими часами и пользовательским циферблатом, чтобы выбрать   -  person bharat singh    schedule 18.06.2019
comment
Я использовал TimePickerDialog. Он покажет диалог, как iphone. Если вы хотите, я могу поделиться кодом.   -  person Varun    schedule 18.06.2019
comment
Возможный дубликат Изменение стилей TimePickerDialog   -  person Raidri    schedule 18.06.2019
comment
Конечно, @Varun ваша помощь будет оценена по достоинству.   -  person bharat singh    schedule 19.06.2019


Ответы (2)


В таймпикере есть важный атрибут:

 android:timePickerMode="spinner" or "clock"

и для набора цветов фона используйте тему:

android:theme="@style/TimePickerTheme"
person mainu    schedule 18.06.2019
comment
извините, но это не мой ответ. - person bharat singh; 18.06.2019

 validTillTime.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            KeyboardUtility.hideKeyboard(CreatePassActivityTwo.this);
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                TimePickerUtility.getTime(CreatePassActivityTwo.this).show();
                validFrom = 0;
                return false;
            }
            return true;

validTillTime здесь является EditText.

public class TimePickerUtility {

public static TimePickerDialog getTime(final Context context) {

    Calendar calendar = Calendar.getInstance();
    int hour = calendar.get(Calendar.HOUR_OF_DAY);
    int minute = calendar.get(Calendar.MINUTE);

    TimePickerDialog.OnTimeSetListener timeSetListener =
            new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

                    TimePickerListener timePickerListener = (TimePickerListener) context;
                    timePickerListener.onReceiveTime(hourOfDay, minute);
                }
            };

    return new TimePickerDialog(context,
            R.style.TimePickerTheme, timeSetListener, hour, minute, false);
}

public interface TimePickerListener {

    void onReceiveTime(int hour, int minute);
}

внедрите TimePickerListener в свою деятельность.

 @Override
public void onReceiveTime(int hour, int minute) {
    if (validFrom == 1) {
        validFromTime.setText(TimeFormatterUtility.getFormattedTime(hour, minute));
    } else {
        validTillTime.setText(TimeFormatterUtility.getFormattedTime(hour, minute));
    }
}

 <style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorAccent">@color/buttonColor</item>
    <item name="android:timePickerStyle">@style/TimePickerStyle</item>
</style>

<style name="TimePickerStyle" parent="@android:style/Widget.Material.Light.TimePicker">

    <item name="android:headerBackground">@color/colorPrimary</item>
    <item name="android:timePickerMode">spinner</item>
    <item name="android:headerTimeTextAppearance">@color/colorPrimaryDark</item>
</style>
person Varun    schedule 20.06.2019