如何更改width的Button程序.我能够改变,height但宽度不会改变.以下是我的代码段
private void createButton(final String label)
{
Button button = new Button(this);
button.setText(label);
button.setWidth(10);
button.setHeight(100);
button.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
}
});
mMenuContainer.addView(button, mMenuItemLayoutParamters);
}
Run Code Online (Sandbox Code Playgroud)
但width的Button占据了width屏幕.
我想知道是否可以在我的系统/笔记本电脑上看到logcat结果; 当我运行我的应用程序以防万一我没有数据连接我的设备.可能通过Wifi.
我试图在LinearLayout容器内添加一个放大的视图。但是我让孩子已经有一个父母的问题。以下是我的xml文件多次包含容器。 activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@android:color/black"
></LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
item_button.xml是我要充气到容器中的xml。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:background="@color/purple"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:text="Button 1"
android:padding="20dp"
android:background="@color/colorAccent"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
以下是onCreate方法中的Java代码。我想将childView多次添加到容器中:
View childView;
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
childView = inflater.inflate(R.layout.item_button, null);
container.addView(childView);
container.addView(childView);
Run Code Online (Sandbox Code Playgroud)
但是,将子项多次添加到视图中会产生以下错误:
The specified child already has a parent. You must call removeView()
on the child's parent first.
Run Code Online (Sandbox Code Playgroud) 我使用以下代码获取布局中视图的位置(x,y)坐标。我有一个按钮和以下代码来获取其在scren上的位置。另请注意,此语句已在setContentView()之后被调用。
Toast.makeText(MainActivity.this, button1.getTop(),Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
以下是错误:
E/AndroidRuntime(11630): android.content.res.Resources$NotFoundException: String resource ID #0x196
Run Code Online (Sandbox Code Playgroud)
我如何在屏幕上获取视图的位置(在我的情况下为按钮)(x,y坐标)?
我需要在对话框中删除标题.注意我不需要一个空白的标题.我需要删除标题部分.以下是我的代码:
final Dialog dialog1=new Dialog(context);
dialog1.setContentView(R.layout.redeemvoucher_first);
dialog1.setCanceledOnTouchOutside(true);
dialog1.getWindow().setLayout(900,500);
dialog1.show();
Run Code Online (Sandbox Code Playgroud) 有没有办法,我可以看到我的logcat结果,如果我使用Wifi(不是Usb数据线)连接我的Android设备基本上调试我的应用程序.如果我是如何去做它.
我需要禁用click-eventAndroid中的按钮.就像样本一样,我尝试过以下操作.我把它TextView命名为(输入文本)作为名称.条件检查是否TextView为空按钮和可单击应设置为false.但是,打印Toast时不会发生这种情况.有人可以告诉我原因.此外,如果文本字段不为空,我想将clickable eventfor按钮重置为true.
Java文件:
public class ButtonclickabkeActivity extends Activity {
TextView tv;
Button btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.textView1);
tv.setText("Name");
btn = (Button) findViewById(R.id.button1);
if (tv.getText().toString().length() != 0) {
btn.setClickable(false);
Toast.makeText(getApplicationContext(), "" + tv.getText().toString().length(), Toast.LENGTH_LONG).show();
} else {
btn.setClickable(true);
}
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(getApplicationContext(), "Button clicked", Toast.LENGTH_LONG).show();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
XML文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" …Run Code Online (Sandbox Code Playgroud) 以下是double值
-1.2316741412499997E8
Run Code Online (Sandbox Code Playgroud)
以下是我使用的方法:
Long.toBinaryString(Double.doubleToRawLongBits(-1.2316741412499997E8))
output: 1100000110011101010111011000101011011000011111111111111111111110
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用值2时,我得到以下输出,如下所示,这是错误的.
Long.toBinaryString(Double.doubleToRawLongBits(2.0))
output: 100000000000000000000000000000000000000000000000000000000000000
Run Code Online (Sandbox Code Playgroud)
有人会告诉我如何将负双值转换为二进制.谢谢提前.
我在java中的一个方法中使用以下代码:
int [] byte_song = new int[8414449];
int [] int_song = new int[8414449 - 45];
Run Code Online (Sandbox Code Playgroud)
如果我只是写:
int [] byte_song = new int[8414449];
Run Code Online (Sandbox Code Playgroud)
它没有给我任何错误.但是,如果我写:
int [] byte_song = new int[8414449];
int [] int_song = new int[8414449 - 45];
Run Code Online (Sandbox Code Playgroud)
它给了我OutOfMemoryError.
System.gc();在int []int_song = new int[8414449 - 45];我得到错误之前我也尝试过调用.有人可以帮我解决这个问题.