Articles of android layout

设置文本视图ellipsize并在结尾添加更多视图

我正在尝试设置文本视图的椭圆化。 使用以下代码。 我想在3个点之后的截断字符串末尾添加“查看更多”。 如果使用相同的文本视图可能会很好,或者在单独的文本视图中“查看更多”也可以。 最大线允许为4.我试图设置第一个文本视图的宽度,但它在前3行的末尾留下空白空间。 请看下面的图片。

在Android中,为什么使用XML创建GUI是一种很好的做法

我来自Java Swing背景。 我可以知道为什么使用XML创建GUI在Android中是一个很好的做法吗? 例如,而不是编写代码(这使我感觉更舒服,因为我使用Swing桌面应用程序) import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText(“Hello, Android”); setContentView(tv); } } 我们用XML方式编写代码。 import android.app.Activity; import android.os.Bundle; public class HelloAndroid extends Activity { /** Called […]

如何以编程方式设置gridview的高度

我想在我的应用程序中以编程方式设置Gridview的高度。 有没有办法实现呢? 我只想从代码中更改两个特定情况下的gridview高度。 编辑: MyGridViewClass扩展了Fragment,其中填充了Gridview。 在onViewCreated的onViewCreated ,我使用代码对gridview进行了膨胀, gridView = (GridView)getView().findViewById( R.id.mygridview_container); gridAdapter = new MyCustomAdapter(context, list); gridView.setAdapter(gridAdapter); 无论何时创建视图,我都必须检查gridview中的项目数并相应地设置高度。 当我尝试为gridview设置layoutParams()时,我遇到了这个exception。 android.view.InflateException: Binary XML file line #89: Error inflating class fragment 其中第89行对应于片段class =“com.myapp.android.MyGridViewClass”中的这一行

android小部件ArrayAdapter createViewFromResource的NullPointerException

我是android ArrayAdapters的新手,我在填充ListView时面临一个空指针exception。 我用来填充listview的数据不是null,我已经检查过了。 整个事情在第一次加载时工作正常,但是一旦我向下滚动到列表的末尾,应用程序崩溃了。 这是我的堆栈跟踪: E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.NullPointerException at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:394) at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362) at android.widget.AbsListView.obtainView(AbsListView.java:2386) at android.widget.ListView.makeAndAddView(ListView.java:1769) at android.widget.ListView.fillDown(ListView.java:672) at android.widget.ListView.fillGap(ListView.java:636) at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5201) at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:4358) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725) at android.view.Choreographer.doCallbacks(Choreographer.java:555) at android.view.Choreographer.doFrame(Choreographer.java:524) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5059) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) at dalvik.system.NativeStart.main(Native Method) 这是我的活动代码:“我已经标记了我填充listView的行” […]

如何在RelativeLayout中添加间距

我有一个相对布局。 它有2个按钮,并排,右对齐。 所以这是我的布局xml文件。 我的问题是RelativeLayout的最右边的按钮和右边框之间以及2个按钮之间没有间距。 我该如何添加? 我玩android:paddingRight,但没有任何帮助。 谢谢。

在API版本16之前检测SeekBar中的拇指位置

基本上,我需要检测SeekBar中进度何时发生变化,并在拇指顶部绘制一个指示进度值的文本视图。 我这样做是通过实现OnSeekBarChangeListener和public void onProgressChanged(SeekBar seekBar, int progress, boolean b)方法,我调用Rect thumbRect = seekBar.getThumb().getBounds(); 确定拇指的位置。 这非常getThumb() ,但显然getThumb()仅在API级别16+(Android 4.1)中可用,在早期版本中导致NoSuchMethodError 。 知道如何解决这个问题吗?

android.widget.LinearLayout无法强制转换为android.widget.TextView

我在运行时添加了一个ListView ,如下所示: MainMenue = getResources().getStringArray(R.array.Unit); // remove all controls LinearLayout formLayout = (LinearLayout)findViewById(R.id.submenue); formLayout.removeAllViews(); menueview = new ListView(getApplicationContext()); menueview.setVisibility(ListView.VISIBLE); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); params.gravity = Gravity.RIGHT; menueview.setLayoutParams(params); menueview.setAdapter(new submenueadapter(menueview.getContext(), MainMenue)); // Set the on Item SetMenueOnClick() ; formLayout.addView(menueview); 然后我添加一个项目点击监听器,如下所示: public void SetMenueOnClick() { menueview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View view, […]

如何将浮动操作按钮与工具栏集成到线性布局中

我有以下列表视图,我想添加一个浮动操作按钮。 在当前forms中,按钮根本不显示。 我尝试将LinearLayout更改为CoordinatorLayout因为许多示例都具有此function。 但后来我收到一个错误: java.lang.RuntimeException: Unable to start activity ComponentInfo{de.sudoq/de.sudoq.controller.menus.SudokuLoadingActivity}: android.view.InflateException: Binary XML file line #6: Error inflating class CoordinatorLayout at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) … Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class CoordinatorLayout at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:757) … Caused by: java.lang.ClassNotFoundException: Didn’t find class “android.view.CoordinatorLayout” on path: DexPathList[[zip file “/data/app/de.sudoq-2/base.apk”],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]] … 我也是trid FrameLayout但是然后列表越过工具栏(你可以在列表项的透明部分下看到工具栏,但它们覆盖工具栏,而不是相反)

可以创建没有文本的ToggleButton吗?

我想像这样创建一个Android默认的ToggleButton : 但我想创建它没有TEXT 我尝试使用此代码: ToggleButton tb = new ToggleButton(map); tb.setText(null); tb.setTextOn(null); tb.setTextOff(null); 但它在水平绿色条的顶部留下了一个空的空间。 我不想要那个空的空间,我只想要水平的绿色条。 怎么实现呢? 谢谢

如何像Android上的myTubo一样制作Bottom Bar ?

我正在寻找如何在我的应用程序底部获得类似的栏,如Android的MyTubo(或GroupMe)。 像这样的东西: 谢谢你的回答。