Android ImageButton — не может получить изображение в центре

Помимо подхода Box, в определении черты можно определить общий тип. Этот метод ограничен реализуемым типом и использует статическую диспетчеризацию, но ваша черта не нарушит правила безопасности объекта.

trait Store<'a, I>
where
    I: IntoIterator<Item = &'a str>,
{
    fn query_valid_paths(&mut self, iter: I) -> Vec<String>;
}

impl<'a, I> Store<'a, I> for ()
where
    I: IntoIterator<Item = &'a str>,
{
    fn query_valid_paths(&mut self, iter: I) -> Vec<String> {
        iter.into_iter().map(|x| x.to_string()).collect()
    }
}

// Store is object safe
struct _Bar<'a, I> {
    vec: Vec<Box<dyn Store<'a, I>>>,
}

fn main() {
    let vec_of_strings = vec!["one", "two", "three"];
    println!("{:?}", ().query_valid_paths(vec_of_strings));
}

Чтобы не вступать во владение, вместо этого вы можете использовать vec_of_strings.iter().cloned().

24
задан Nikhil 30 June 2012 в 11:27
поделиться

2 ответа

Я - настоящий идиот. Это - то, как это появляется в дисплее, который плагин Ecliplse предоставляет бок о бок XML-редактор. Когда я на самом деле разрабатываю проект и выполнил его на устройстве, он отобразил все правильно.

17
ответ дан 29 November 2019 в 00:22
поделиться

Иронически у меня была точно противоположная проблема с ImageView - я не мог получить ее, выровнял по левому краю то независимо от того, что я попробовал. В этом случае я использовал layout_width="fill_parent".

Посмотрите мой вопрос здесь: расположение Android - проблема выравнивания с ImageView

1
ответ дан 29 November 2019 в 00:22
поделиться
Другие вопросы по тегам:

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