2016-02-19 16 views
0

我想聊天應用程序類型的用戶界面在我的應用程序&我的目標是Android和iOS。 我使用Xamarin.Forms.Editor在這種情況下回復如何應用最大高度並啓用滾動到Xamarin.Forms.Editor

Editor _replyEntry = new Editor 
{ 
    HorizontalOptions = LayoutOptions.FillAndExpand, 
    TextColor = Color.Black 
} 

編輯器的高度保持不變,並允許滾動和編輯器沒有擴展

然後我用InvalidateMeasure()

_replyEntry .TextChanged += (sender, e) => { this.InvalidateMeasure(); }; 

在這種情況下,編輯器擴展的時候,文本需要更多的空間,但不允許滾動內部編輯器,如果用戶鍵入長消息,然後編輯器不允許滾動和文本在鍵盤後面並且不可見用戶

有什麼辦法,使滾動並通過編寫定製的渲染

感謝

這裏舉最大高度的xamarin.forms編輯要麼是我的代碼

public class abc : ContentPage 
{ 
    public abc() 
    { 
    Image attchment = new Image 
    { 
     Source = "attachment.png", 
     HorizontalOptions = LayoutOptions.Start 
    }; 

    Editor _replyEntry = new Editor 
    { 
     HorizontalOptions = LayoutOptions.FillAndExpand, 
     TextColor = Color.Black, 
    }; 

    Button _sendButton = new Button 
    { 
     Text = "Send", 
     TextColor = Color.Black, 
     BackgroundColor = Color.Transparent, 
     HorizontalOptions = LayoutOptions.End 
    }; 

    StackLayout replyStack = new StackLayout 
    { 
     Orientation = StackOrientation.Horizontal, 
     Padding = new Thickness(10), 
     Spacing = 10, 
     VerticalOptions = LayoutOptions.End, 
     Children = { attchment, _replyEntry, _sendButton } 
    }; 
    Content = replyStack; 
    } 
} 
+0

你可以發佈你的完整代碼,因爲它並不能完全說明你真正想要的東西。你在主持你的編輯? – Pete

+0

這裏是我的代碼 –

+0

你有沒有嘗試過這裏的建議 - https://forums.xamarin.com/discussion/38172/how-to-autosize-editor-height。它看起來像你將不得不寫一個自定義的渲染器,但要得到你想要的? – Pete

回答

0

它看起來像你將不得不使用自定義渲染器來實現你想要的。

有一個帖子here幾乎與你想要達到的Android相同。

在該演示它有一個擴大的多線控制EditTextandroid:singleLine="false"),只有垂直滾動條(android:scrollbars="vertical"),而禁用所述水平滾動條(android:scrollHorizontally="false")。

0

您需要確保編輯器的父級正在擴展,那麼編輯器也會自動擴展。如果您製作一個空的內容頁面並添加一個編輯器,則該內容將會展開。如果將它放在堆棧佈局中,則需要確保堆棧佈局正在擴展。

相關問題