Articles of 布局

我怎样才能将自定义button添加到AlertDialog的布局?

我有AlertDialog正面和负面的button。 在AlertDialog布局中,我有EditText和两个button(btnAdd1,btnAdd2)。 我想当用户点击buttonbtnAdd1或btnAdd2添加相同的文本到AlertDialog中的EditText(但不closuresAlertDialog)。 AlertDialog中可以这样做,还是只能使用Dialog? 这是AlertDialog的布局(R.layout.prompt): <LinearLayout> <EditText android:id="@+id/userInput" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" > <requestFocus /> </EditText> <Button android:id="@+id/btnAdd1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="bla" /> <Button android:id="@+id/btnAdd2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="bla" /> </LinearLayout> 这是源代码: LayoutInflater layoutInflater = LayoutInflater.from(this); View promptView = layoutInflater.inflate(R.layout.prompt, null); AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); alertDialogBuilder.setView(promptView); alertDialogBuilder .setCancelable(false) .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int […]

如何在android中dynamic设置自定义标题栏的TextView值?

朋友们, 我已经创build自定义标题栏使用以下titlebar.xml文件与代码 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myTitle" android:text="This is my new title" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="@color/titletextcolor" android:layout_marginLeft="25px" android:paddingTop="3px" /> 和java代码来显示每个活动的自定义标题栏。 @Override public void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle); super.onCreate(savedInstanceState); setContentView(R.layout.main); } 现在我想在每个活动中dynamic设置textview值可以任何人指导我如何实现这一目标? 在这里使用findviewbyid我没有得到该textview的参考设置值,因为主布局不包含任何这样的名称,但mytitle的文本框。 任何帮助将appriciated。

是否有可能在android中定义XML的常量随configuration而变化

我感兴趣的是Android中的XML布局会根据横向或纵向查看(以及其他configuration)更改大小。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_alignParentBottom="true" android:background="@drawable/stream_bg_1px_wide" android:layout_height="150dip" > 在这个例子中,我只是想根据风景或肖像来改变150dip大小,而不是改变其他任何东西。 我正在使用layout和layout-land,而且我知道我可以在每个文件夹中重复布局,但是这使得维护上的变化有点痛苦。 当我根据屏幕密度和大小推出更多变体时,情况会变得更糟。 所以,我想知道是否可以在XML文件中定义一个值(常量),并从我的布局中引用它,类似于如何定义颜色 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="shopper_background"> #FFFFFF</color> </resources> 沿着……的方向 <?xml version="1.0" encoding="utf-8"?> <resources> <value name="footer_size" >150</value> </resources> 然后,我可以在每个configuration中复制该文件,使用不同的值。 谢谢你的帮助

PagePadapter中的InstantiateItem和ViewPager中的AddView混淆

到目前为止,我一直在黑客一起使用示例来感受整个Anfroid SDK的API。 但是我陷入了僵局。 我想从一个XML文件中使用2个TextViews对一个LinearLayout进行充气。 这些将是分页视图。 我只是无能为力,并意识到我完全不明白代码中发生了什么。 看看源代码,我可以看到ViewPager.addNewItem方法从提供的适配器调用InstantiateItem。 并且在populate()中调用addNewItem。 填充在其他地方被调用。 无论如何,在我已经看到的方法被重载的PagerAdapter的例子中,你必须包括一个调用AddView的ViewPager收集从viewpager作为parameter passing。 如果我想添加多个视图,我认为这将是不止一次调用addView的情况,但作为instantiateItem返回一个Object到ViewPager(在这个例子中,我有它返回的视图,它添加),我不知道该怎么回报。 我已经尝试返回充气的视图和一些其他的东西。 请有人可以解释这里发生了什么? 非常感激。 中号 @Override public Object instantiateItem(View collection, int position) { layout = inflater.inflate(R.layout.animallayout, null); TextView tv = (TextView) layout.findViewById(R.id.textView1); tv.setText("1________________>" + position); TextView tv2 = (TextView) layout.findViewById(R.id.textView2); tv.setText("2________________>" + position); ((ViewPager) collection).addView(layout); return layout; }

自定义通知布局不适用于Android 2.3或更低版本

我使用NotificationCompat.Builder通过android版本显示我的通知,并使用通知的自定义布局。 自定义布局在Android 3及更高版本(API Level 11)上正常工作,但不会在API Level 10或更低版本上显示。 我在仿真器的2.3和2.2版本上testing了它。 下面是我的代码: Builder builder = new NotificationCompat.Builder(getApplicationContext()); RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification_layout); contentView.setImageViewResource(R.id.notImage, R.drawable.stat_icon); contentView.setTextViewText(R.id.notTitle, getResources().getString(R.string.streamPlaying)); contentView.setTextViewText(R.id.notText, StartActivity.streamName + " " + getResources().getString(R.string.playing)); builder .setContentTitle(getResources().getString(R.string.streamPlaying)) .setContentText(StartActivity.streamName + " " + getResources().getString(R.string.playing)) .setSmallIcon(R.drawable.stat_icon) .setContentIntent(pendingIntent) .setOngoing(true) .setWhen(0) .setTicker(StartActivity.streamName + " " + getResources().getString(R.string.playing)) .setContent(contentView); not = builder.build(); 真的很基本。 布局文件是正确的,就像在android.com上的通知教程一样,以确保我没有在那里犯错。 […]

javadoc中的参考资源

有没有可能在javadoc中引用资源文件(例如布局文件)? 我在开发人员文档中找不到这个。

如何检测布局resize?

黛安娜·哈克博恩(Dianne Hackborn)在一对夫妇的线程中提到,当一个布局被resize时,例如当软键盘打开或closures时,你可以检测到它。 这样的线程是这个… http://groups.google.com/group/android-developers/browse_thread/thread/d318901586313204/2b2c2c7d4bb04e1b 但是,我不明白她的回答:“通过您的视图层次结构调整所有相应的布局遍历和callback。 有没有人有进一步的描述或一些如何检测这个例子? 我可以链接哪些callback以检测此问题? 谢谢

背景上的不透明可视图像(使用XML布局)

我只是想知道是否有一种方法来改变View的背景图像的不透明度(即TextView等)。 我知道我可以像这样设置背景图片: android:background="@drawable/my_drawable_image" 或者我可以用这样的alpha设置来设置特定的背景颜色: android:background="#10f7f7f7" 有没有一种方法可以控制不透明度(设置alpha),如果我将背景设置为可绘制的图像? 我想在XML布局中做到这一点。 我已经知道我可以抓住Drawable对象并以编程方式设置alpha,但是我想看看我能否在布局中做到这一点。

Android GridLayout等宽列宽

在Android的GridLayout中真的不可能轻易地强制相等的列宽? 尝试明显的布局… <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:columnCount="4" android:rowCount="8" tools:context=".MainActivity" > <Button android:id="@+id/button1" android:layout_gravity="center" android:text="Button 1" /> <Button android:id="@+id/button2" android:layout_gravity="center" android:text="Button 2" /> <Button android:id="@+id/button3" android:layout_gravity="center" android:text="Button 3" /> <Button android:id="@+id/button4" android:layout_gravity="center" android:text="Button 4" /> </GridLayout> …将最右边的button居中放在明显比其他三个更宽的列中。 (玩button文本,你可以很容易地变得更糟糕的例子。) 我阅读了关于GridLayouts中多余空间分布的Android文档,但似乎很明显,甚至在这种情况下,甚至需要列宽(通常甚至可能是任何一种),我不得不相信我错过了一些明显/容易的事情。

如何将屏幕上的button水平和垂直加上等距分开?

我一直在想我的大脑(android新手在这里,所以不难做)一段时间试图找出如何做到这一点: 使用一个RelativeLayout或AbsoluteLayout以外的东西,这是创build的东西。 我来自Windows编程背景,设备为您调整“绝对”定位,GUI布局不是问题。 第一种布局在仿真器中效果很好,但是对于我的Nexus One或其他任何不同于仿真器大小的屏幕都没有格式化。 我期望这是因为它绝对定位,但还没有find一个解决scheme,将正确格式不同的屏幕尺寸。 我的目标是让布局适用于不同的屏幕尺寸和纵向/横向。 这是我目前使用的代码:[main.xml] <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" > <Button android:id="@+id/Button01" android:layout_width="188px" android:layout_height="100px" android:text="A" android:layout_y="50px" android:layout_x="65px" android:textSize="48sp"/> <Button android:id="@+id/Button02" android:layout_width="188px" android:layout_height="100px" android:text="B" android:layout_y="175px" android:layout_x="65px" android:textSize="48sp"/> <Button android:id="@+id/Button03" android:layout_width="188px" android:layout_height="100px" android:text="C" android:layout_y="300px" android:layout_x="65px" android:textSize="48sp"/> </AbsoluteLayout> 使用其他问题的花絮,我想出了这个,它更接近,但还没有。 <?xml version="1.0" encoding="utf-8"?> <TableLayout android:gravity="center" android:id="@+id/widget49" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" > <Button android:id="@+id/Button01" […]