我有一个支持不同语言的应用程序。不过,无论使用何种语言,我都有1个布局文件。
这个布局有几个按钮可以打开不同的活动,但它需要按字母顺序排列。
即车(eng) - 自动(de) 英文版按钮3将打开汽车活动,但德语版按钮1将打开汽车活动。我如何确保这种情况发生,还是必须根据语言创建不同的活动?
布局文件:取决于语言的打开活动
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="72dp"
android:orientation="horizontal" >
<Button
android:id="@+id/btnButton1"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_marginTop="20dp"
android:layout_marginLeft="25dp"
android:text="1" />
<Button
android:id="@+id/btnButton2"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_toRightOf="@+id/btnButton1"
android:layout_alignBottom="@+id/btnButton1"
android:layout_marginLeft="5dp"
android:text="2"/>
<Button
android:id="@+id/btnButton3"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_toRightOf="@+id/btnButton2"
android:layout_alignBottom="@+id/btnButton2"
android:layout_marginLeft="5dp"
android:text="3"/>
</RelativeLayout>
类,它具有按钮:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Locale.getDefault();
setContentView(R.layout.activity_animal_choice);
btnButton1 = (Button) findViewById(R.id.btnButton1);
btnButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Menu.this, Car.class);
startActivity(intent);
}
});
这将是很好看,如果这是可能的,如果没有它可能会更快,更容易地创建每种语言不同的apk
感谢 - 但我读过,但不能看到任何地方文件说或指向我的方向使用1布局文件,并取决于语言将取决于哪个按钮做什么,除非我从该链接丢失的东西? –
我建议你使用几个布局文件,例如'res/layout-de/main.xml','res/layout-en/main.xml'等。这个Activity完全不知道按钮的位置屏幕,所以相同的Activity可以用于所有的布局。根据设备上的区域设置自动选择正确的布局。 –
我可能真的去编程添加按钮,因为我所有的字符串都完成 –