标签: android-tablelayout

放大Tablelayout

我创造TableLayout.在TableLayout我创建动态行并在表行上添加按钮数.OnTouchListener应用于按钮以放大和缩小.当我移动我的手指慢慢放大并缩小工作正常但当我的手指移动快速缩放功能不能正常工作.

我的源代码是.
请建议我如何改进我的代码,当它以正常的方式工作

package com.exa;


import android.app.Activity;
import android.content.res.Resources;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.FloatMath;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class DynamictablerowActivity extends Activity implements OnTouchListener,OnClickListener{
    /** Called when the activity is first created. */
     Button textView[][]= new Button[39][40];
     TableRow tableRow;
     TableLayout tableLayout;
     ScrollView sc;
     float c=10;
     RelativeLayout re;
     float olddistanc;
     static …
Run Code Online (Sandbox Code Playgroud)

android android-tablelayout

5
推荐指数
0
解决办法
2039
查看次数

GridView或TableLayout?

http://img683.imageshack.us/img683/645/weatherscreenmockupoutl.png

我问自己什么是编码这种布局的最佳方法.基本上我只需要知道如何获得具有相等宽度的七列.

提前致谢!

android android-layout android-gridview android-tablelayout

5
推荐指数
1
解决办法
4413
查看次数

如何在xml中设置android表格布局列填充

我布局的线框

我设法使用设计布局TableLayout.android:layout_span帮助我.

问题是我需要Column1和Column2之间的一些差距.无论哪种方式Padding / Margin

我不喜欢这个任务的程序.必须有一个简单的方法来做到这一点.

可以使用xml设置吗?

更新:我试图设置列子的填充它没有均匀地对齐列.

android android-tablelayout

5
推荐指数
1
解决办法
2万
查看次数

TableRow没有包装TextView

TableLayout 在每一行都有一个TextViewEditText.什么时候EditText有一个多行,TableRow包装它但是什么时候TextEdit它不会...

简单的布局:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:shrinkColumns="*" >

    <TableRow>

        <TextView
            android:id="@+id/textView1"
            android:text="Lorem ipsum dolor sit amet, consectetur" />

        <EditText
            android:id="@+id/textView2"
            android:text="Foo" />
    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/textView3"
            android:text="Foo" />

        <EditText
            android:id="@+id/textView4"
            android:text="Lorem ipsum dolor sit amet, consectetur" />
    </TableRow>

</TableLayout>
Run Code Online (Sandbox Code Playgroud)

呈现:渲染1

但是当两个控件都是时TextEdit,它会正确呈现.

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:shrinkColumns="*" >

    <TableRow>

        <TextView
            android:id="@+id/textView1"
            android:text="Lorem ipsum dolor sit amet, consectetur" />

        <TextView
            android:id="@+id/textView2"
            android:text="Foo" /> …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-tablelayout

5
推荐指数
2
解决办法
6905
查看次数

如何设置 tablerows 元素的权重?

我有一个 TableLayout,我以编程方式添加行,我试图以编程方式设置行中包含的元素的“权重”。

我试图通过weightSum在 TableRow 上设置并使用“LayoutParams”的最后一个参数设置列的“权重”来做到这一点,但什么也没出现;相反,如果我给元素一个固定的宽度,代码运行良好。

这是我的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TableLayout
        android:id="@+id/sample"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:gravity="center" >
    </TableLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是代码:

public class HomeFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.home, null);
    }

    @Override
    public void onStart() {
        super.onStart();

        TableLayout tl = (TableLayout)getActivity().findViewById(R.id.sample);
        TableRow tr = new TableRow(getActivity());
        tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));
        tr.setGravity(Gravity.CENTER);
        tr.setWeightSum(1f);

        TableRow.LayoutParams lp;
        TextView tv1 = new TextView(getActivity());
        lp = new TableRow.LayoutParams(0, TableRow.LayoutParams.WRAP_CONTENT, 0.6f);
        tv1.setText("AAA");
        tv1.setLayoutParams(lp); …
Run Code Online (Sandbox Code Playgroud)

android android-tablelayout

5
推荐指数
1
解决办法
1万
查看次数

TableRow 填充剩余空间

我有如下布局:

<TableLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".SettingsActivity" >

<TableRow
    ...
</TableRow>

<TableRow
    ...
</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
 >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Temperature:" />

        <SeekBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
</TableRow>
Run Code Online (Sandbox Code Playgroud)

在第三个中TableRowTextViewSeekBar平分空间。我希望 theTextView仅与其中的文本一样宽,并且SeekBar应该填充其余空间。我试过摆弄重力、宽度和重量。获得这种行为的最佳方法是什么?

android android-tablelayout

5
推荐指数
0
解决办法
1696
查看次数

Android:创建方形单元格表

我正在为 android 设计一个基本的井字游戏,作为我的“Hello World”项目。我想要一个 3x3 表格,其中所有单元格都是正方形。

如果其中的任何单元格中没有任何内容,我所做的方式会使列缩小。我正在尝试使用 GridLayout 中的 9 个 TextView。

我欢迎所有建议来做到这一点。

我的方式看起来像这样 - 在此处输入图片说明

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    style="@style/LayoutStyle"
    tools:context=".GameBoard">


    <GridLayout
        style="@style/GameBoardGrid"
        android:id="@+id/gridTitle">

        <TextView
            android:id="@+id/tile00"
            style="@style/GameTile"
            android:layout_column="0"
            android:layout_row="0"
            android:text=""/>

        <TextView
            android:id="@+id/tile01"
            style="@style/GameTile"
            android:layout_column="1"
            android:layout_row="0"
            android:text="X"/>

        <TextView
            android:id="@+id/tile02"
            style="@style/GameTile"
            android:layout_column="2"
            android:layout_row="0"
            android:text="O"/>

        <TextView
            android:id="@+id/tile10"
            style="@style/GameTile"
            android:layout_column="0"
            android:layout_row="1"
            android:text=""/>

        <TextView
            android:id="@+id/tile11"
            style="@style/GameTile"
            android:layout_column="1"
            android:layout_row="1"
            android:text="O"/>

        <TextView
            android:id="@+id/tile12"
            style="@style/GameTile"
            android:layout_column="2"
            android:layout_row="1"
            android:text="X"/>

        <TextView
            android:id="@+id/tile20"
            style="@style/GameTile"
            android:layout_column="0"
            android:layout_row="2"
            android:text=""/>

        <TextView
            android:id="@+id/tile21"
            style="@style/GameTile"
            android:layout_column="1"
            android:layout_row="2"
            android:text="X"/>

        <TextView
            android:id="@+id/tile22"
            style="@style/GameTile"
            android:layout_column="2"
            android:layout_row="2"
            android:text="O"/>

    </GridLayout>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

其中,GameTile …

android textview android-ui android-tablelayout android-gridlayout

5
推荐指数
1
解决办法
3118
查看次数

Tablayout 更新自定义视图选项卡的页面标题

我制作了一个 tablayout 选项卡,它具有选项卡的自定义布局,有时我希望更改这些选项卡的标题。但我没有得到正确的方法,请帮助我。

我的custom_tab.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/titttle"
        android:textStyle="bold"
        android:text="MYTITLE"
        android:paddingLeft="10dp"/>

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/count"
        android:textStyle="bold"
        android:text="1"
        android:paddingLeft="10dp"/>

</RelativeLayout> 
Run Code Online (Sandbox Code Playgroud)

并在MainActivity.java 中

tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(viewPager);
 tabLayout.getTabAt(0).setCustomView(R.layout.tab_custom_view);
 tabLayout.getTabAt(1).setCustomView(R.layout.tab_custom_view);
TextView textView = (TextView)tabLayout.getChildAt(1).getRootView().findViewById(R.id.titttle);
textView.setText("New Title");
Run Code Online (Sandbox Code Playgroud)

这里

TextView textView = (TextView)tabLayout.getChildAt(1).getRootView().findViewById(R.id.titttle);
    textView.setText("New Title");
Run Code Online (Sandbox Code Playgroud)

不工作,帮我更新自定义选项卡的文本视图。

android-fragments android-activity android-tablelayout android-tabs android-design-library

5
推荐指数
1
解决办法
6542
查看次数

如何从膨胀的布局中获取视图的参考

我为我的活动设置了一个巨大的布局,我使用setContentView(). 在该布局中,我有一个TableLayouttableLayout在我的活动中命名)要填充。该 TableLayout 的行是布局文件中的 customViews (我们称之为该文件tablerow_layout.xml)。在这个布局中,我有一些 TextViews 和 ImageView。我想要做的是在创建行时以编程方式更改 TextView 的内容。这是我的代码:

LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View newRow = layoutInflater.inflate(R.layout.tablerow_layout, null, false);
TextView name = (TextView) newRow. findViewById(R.id.tablerow_name);
name.setText("THIS LINE");
tableLayout.addView(newRow);
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试更改 TextView 的内容时,我的应用程序崩溃了。我知道我可以使用 ListView 来做到这一点,但我通常只有少量行,并且为 ListView 创建另一个适配器的开销非常大。

作为 @???????K 建议我也尝试过 newRow.findViewById(...) 而不是 findViewById(...) 没有任何区别

android layout-inflater android-tablelayout

5
推荐指数
1
解决办法
9427
查看次数

android Lollipop 上的 TableLayout 崩溃应用程序

我在我的活动布局之一中使用 TableLayout。但是当我尝试在 Lollipop 上运行相同的活动时,它崩溃了。

它适用于棉花糖和牛轧糖。

当我在删除 TableLayout(ONLY) 后尝试运行它时,它在 Lollipop 中也运行良好。

我尝试删除活动中的所有 java 代码,它有同样的问题。

我的崩溃报告

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.sovereignconsult.region.viand, PID: 19434 java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getVisibility()' on a null object reference at android.widget.LinearLayout.forceUniformHeight(LinearLayout.java:1380) at android.widget.LinearLayout.measureHorizo​​ntal(LinearLayout.java:1368) at android.widget.TableRow.onMeasure(TableRow.java:114) at android.view.View .measure(View.java:17826) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5653) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android。widget.TableLayout.measureChildBeforeLayout(TableLayout.java:464) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.TableLayout.measureVertical(TableLayout.java:476) at android.widget.TableLayout.onMeasure (TableLayout.java:439) at android.view.View.measure(View.java:17826) at android.widget.RelativeLayout.measureChildHorizo​​ntal(RelativeLayout.java:728) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java: 464) 在 android.view.View.measure(View.java:17826) 在 android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1269) 在 android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 在 android.widget.ScrollView.onMeasure(ScrollView.java:338) 在 android.view.View.measure(View.java:17826) 在 android.widget.RelativeLayout.measureChildHorizo​​ntal(RelativeLayout.java:728) 在 android。 widget.RelativeLayout.onMeasure(RelativeLayout.java:464) at …

android android-layout android-tablelayout

5
推荐指数
1
解决办法
583
查看次数