我需要一排5个按钮,分布在手机屏幕的整个宽度上。每个按钮上显示的文本根据区域设置进行设置:使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--first fragment(left screen) -->
<fragment android:name="com.example.android.fragments.ArticleListFragment"
android:id="@+id/headlines_fragment"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" >
</fragment>
<!--second fragment(right screen) -->
<fragment android:name="com.example.android.fragments.ArticleFragment"
android:id="@+id/article_fragment"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="match_parent">
<Button
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/article_new_fragment"
android:text="OK!" />
</fragment>
</LinearLayout>
的{{1}}方法从资源文件中检索该文本。什么应该是这些按钮及其容器的XAML代码,以便
****编辑****
在查看下面Jerry提到的文档后,我修改了我的XAML代码和资源文件,如下所示:
GetString
“en-US”资源文件提取:
ResourceLoader
“nl-NL”资源文件提取:
<Grid >
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition x:Uid="analyzeBtnCol"/>
<ColumnDefinition x:Uid="suggestBtnCol"/>
<ColumnDefinition x:Uid="stepBtnCol"/>
<ColumnDefinition x:Uid="undoBtnCol"/>
<ColumnDefinition x:Uid="solveBtnCol"/>
</Grid.ColumnDefinitions>
<Button x:Name="analyzeBtn" Grid.Column="0" x:Uid="analyzeBtn" Padding="4" HorizontalAlignment="Center" Click="AnalyseBtnFired" FontSize="10" />
<Button x:Name="suggestBtn" Grid.Column="1" x:Uid="suggestBtn" Padding="4" HorizontalAlignment="Center" Click="SuggestBtnFired" FontSize="10" />
<Button x:Name="stepBtn" Grid.Column="2" x:Uid="stepBtn" Padding="4" HorizontalAlignment="Center" Click="StepBtnFired" FontSize="10" />
<Button x:Name="undoBtn" Grid.Column="3" x:Uid="undoBtn" Padding="4" HorizontalAlignment="Center" Click="UndoBtnFired" FontSize="10" />
<Button x:Name="solveBtn" Grid.Column="4" x:Uid="solveBtn" Padding="4" HorizontalAlignment="Center" Click="SolveBtnFired" FontSize="10" />
</Grid>
答案 0 :(得分:2)
通常,您不需要代码来本地化Button
字幕并使用x:Uid
然后使用YourButtonXuid.Content
键入resw文件中的字符串资源。
除此之外,它似乎更像是一个设计问题,而不是编程问题,尽管这些事情经常交叉。您可以将按钮放在Grid
中,使用等号星大小的列来支持您的条件1,2,4,但正是出于截断原因的风险,特别是在电话上 - 您永远不会这样做。手机屏幕宽度足以显示由图标标识的4-5个按钮,但如果您想要显示文本,那么除非他们只有类似于app的小文本标题,否则您可能无法在整个屏幕上显示它们。如果它的长度太长,我认为它会修剪它们的文本按钮。
我要么考虑
答案 1 :(得分:1)
这是您想要的基本XAML:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button x:Uid="Button1" Grid.Column="0" Content="Button1" Click="{x:Bind ViewModel.DoButton1}" />
<Button x:Uid="Button2" Grid.Column="1" Content="Button2" Click="{x:Bind ViewModel.DoButton2}" />
<Button x:Uid="Button3" Grid.Column="2" Content="Button3" Click="{x:Bind ViewModel.DoButton3}" />
<Button x:Uid="Button4" Grid.Column="3" Content="Button4" Click="{x:Bind ViewModel.DoButton4}" />
<Button x:Uid="Button5" Grid.Column="4" Content="Button5" Click="{x:Bind ViewModel.DoButton5}" />
</Grid>
注意x:Uid部分。这将映射到您在Resources文件中使用的字符串,您可以在其中处理本地化。以下是有关如何执行此操作的更多信息。
https://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh965329(v=win.10).aspx
祝你好运