Android Drawable: указание ширины фигуры в процентах в XML файл?

Я просто нашел ответ, и он работает:)

необходимо добавить следующее к серверной ссылке/кнопке:

OnClientClick="aspnetForm.target ='_blank';"

Мой весь код кнопки смотрит что-то как:

<asp:LinkButton ID="myButton" runat="server" Text="Click Me!" 
                OnClick="myButton_Click" 
                OnClientClick="aspnetForm.target ='_blank';"/>

В стороне сервера OnClick я делаю Response.Redirect("MyPage.aspx");, и страница открыта в новом окне.

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

<script type="text/javascript">
    function fixform() {
        if (opener.document.getElementById("aspnetForm").target != "_blank") return;
        opener.document.getElementById("aspnetForm").target = "";
        opener.document.getElementById("aspnetForm").action = opener.location.href;
    }
</script>

и

<body onload="fixform()">
25
задан Draško Kokić 13 May 2015 в 16:29
поделиться

2 ответа

Истинного процентного значения нет, но вы можете приблизиться.

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

единственный другой способ разделить что-либо - использовать 2 вида, каждый из которых имеет свой собственный цвет bg, и каждому присваивается одинаковое положительное значение для атрибута android: layout_weight (т. Е. 50/50). затем они разделят доступное пространство.

надеюсь, это поможет!

3
ответ дан 28 November 2019 в 21:55
поделиться

Я нашел способ сделать это, создав собственный класс, унаследованный от RelativeLayout, где я переопределил метод onMeasure. На этом этапе высота представления известна, поэтому я выбрал фон и вручную установил вставку элементов, используя setLayerInset .

    LayerDrawable bg = (LayerDrawable)getBackground();
    int h = getMeasuredHeight();
    bg.setLayerInset(1, 0, 0, 0, h/2);

Этот метод немного громоздкий, хотя. В большинстве случаев ответ, предоставленный Крисом, должен быть достаточным.

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

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