我在项目中使用了一些自定义组件,因为我正在使用以下代码。
<view
class="com.android.mypackage.myclass"
id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:drawable/button"
android:padding="10dip"
/>
它的工作非常好,我在我的应用程序中使用此代码大约35次。所以在从同一个项目创建新的克隆应用程序时,我需要在35个地方更新包名称。有没有办法减少这些努力?我曾尝试使用“class =”@ string / class_name“但它不起作用。
答案 0 :(得分:1)
不要将自定义视图放在原始包中,只需将它们放在另一个包中即可
您也可以将它们放在下面的图片中
布局xml中的代码就像是
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<MyView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
更方便。
答案 1 :(得分:0)
没有。你只能写下:
<com.android.mypackage.myclass
id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:drawable/button"
android:padding="10dip" />
class="@string/class_name
不起作用,因为类的名称必须是常量,并且在从XML生成Java代码时可以在编译时使用。
@string/class_name
表示在运行时“动态”读取字段R.string.class_name
的值。