我是Android的新手,MainActivity.java
中的src
和activity_main.xml
中的layout
。如果我在activity_main.xml
中创建了一个按钮,那么我可以通过MainActivity.java
在xml中设置或获取按钮属性的值吗?
如何通过java
更改PopupWindow的属性,如hieght,width答案 0 :(得分:1)
是的,您可以修改XML文件中定义的View
的属性。
为此,您必须在View
中的activity_main.xml
中添加ID,例如:
<Button
android:id="@+id/myButton"
... />
然后,在您的MainActivity
课程中,您可以使用以下方法获取此Button
:
Button myButton = (Button) findViewById(R.id.myButton);
现在,您可以在此视图中添加所需的每个属性。例如,您可以设置其文本:
myButton.setText("Click me!");
答案 1 :(得分:1)
是的,你可以。
获取按钮:
Button button = findViewById(R.id.yourButtonId);
获取属性(一些示例):
int x = button.getX; int marginTop = ((ViewGroup.LayoutParams) button.getLayoutParams()).topMargin;
设置porperties:
button.setX = someValue; ((ViewGroup.LayoutParams) button.getLayoutParams()).topMargin = someValue;
答案 2 :(得分:1)
是的,你可以。任何视图的所有XML属性都具有等效的java方法。
例如,您可以使用
更改XML中的文本android:text="Hello World!"
类似地,您可以使用以下Java代码更改文本运行时:
textView1.setText("Hello World!");
两者都会给出相同的结果。
[注意] 请记住,编译时XML中的代码预定义,但java代码在运行时生效。即只有在设备/模拟器中运行应用程序后。因此,您无法在UI编辑器本身中看到java代码所做的更改。 Java代码仅在运行时反映。
答案 3 :(得分:1)
在Xml文件中 - 您可以将按钮的值设置为
<Button
android:id="@+id/button_Save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Save"
/>
要获取Java文件中的按钮值,可以像这样使用
Button btn;
btn = (Button)findViewById(R.id.button_Save);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String buttonText = btn.getText().toString();
Toast.makeText(MainActivity.this,"Button text is:" +buttonText,Toast.LENGTH_LONG).show();
}
});
答案 4 :(得分:1)
您可以动态获取xml中定义的属性。但是你不能写那些xml文件(例如颜色,字符串,尺寸等)
设置Button属性的示例
<Button
android:id="@+id/seeLater"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_message"
android:fontFamily="sans-serif-condensed"
android:gravity="center"
android:text="@string/dialog_read_later"
android:textColor="@color/White"
android:textSize="@dimen/settings_tile_heading_size"
android:focusableInTouchMode="true"/>
在res文件夹下的xml文件下定义属性
<强> colors.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="White">#ffffff</color>
</resources>
<强> dimens.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="settings_tile_heading_size">13sp</dimen>
</resources>
<强>的strings.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="dialog_read_later">LATER</string>
</resources>